首页 > 解决方案 > 在MYSQL中将时间戳转换为字符串

问题描述

我正在尝试为调度程序创建一个事件,该事件将每两分钟执行两个操作:

  1. 将 City 表中的数据上传到具有当前日期的单独文件
  2. 在表中创建关于创建的文件的标记

当前尝试使用以下查询

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 转换为字符串,或者是否有另一种方法可以写入名称中包含当前日期的文件?

标签: mysql

解决方案


对于 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')

推荐阅读