mysql - 在MYSQL中将时间戳转换为字符串
问题描述
我正在尝试为调度程序创建一个事件,该事件将每两分钟执行两个操作:
- 将 City 表中的数据上传到具有当前日期的单独文件
- 在表中创建关于创建的文件的标记
当前尝试使用以下查询
CREATE EVENT city_event ON SCHEDULE EVERY 2 MINUTE
STARTS CURRENT_TIMESTAMP
ENDS CURRENT_TIMESTAMP + INTERVAL 1 HOUR
DO
BEGIN
SELECT * FROM world_innodb.City INTO OUTFILE CONCAT (“C: \\ mysql \\ City_”, CURRENT_TIMESTAMP);
INSERT INTO test_event (event time) SELECT CURRENT_TIMESTAMP
END;
在 CONCAT 函数中使用 CURRENT_TIMESTAMP 时类型转换出现问题。如何将 CURRENT_TIMESTAMP 转换为字符串,或者是否有另一种方法可以写入名称中包含当前日期的文件?
解决方案
对于 CURRENT_TIMESTAMP 可能你只需要正确替换一些字符
select CURRENT_TIMESTAMP;
SELECT replace(replace(replace(replace(CURRENT_TIMESTAMP,'/',''),'-',''),' ','_'),':','');
或者正如@Shadow 所建议的那样,更简单的方法是 date_format()
select date_format(CURRENT_TIMESTAMP,'%Y%m%d_%H%i%s')
推荐阅读
- node.js - 删除与 RavenDB 中的条件匹配的特定集合的多个文档
- travis-ci - 如何以安全的方式在 Travis CI 上设置 github 令牌?
- c - 为什么一个额外的 jmp 用于函数调用?
- excel - 使用 Application.OnKey 禁用 CTRL-V
- ios - 获取顶部约束的参考
- python - 如何增加蛇的长度,使其遵循前面的矩形/长度,而不是直接在头部后面
- java - exe4j 4.2 版是否支持 openjdk 11?
- html - 即使我复制了正确的嵌入代码,Youtube 嵌入也不起作用
- excel - Workbooks.add 故障 1004
- android - Android 通知未在指定时间和日期显示