将当前时间添加到输出文件'c:/output/data\.csv'

ckocjqey  于 2021-06-25  发布在  Mysql
关注(0)|答案(1)|浏览(225)

我正在寻找一种方法来添加当前时间到我的文件名后,每一个新的出口。
当前代码:

SELECT * INTO OUTFILE 'C:/Output/data_.csv' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' LINES TERMINATED BY '\r\n' FROM eloge_collector;

我想要达到的目标:

SELECT * INTO OUTFILE 'C:/Output/data_2018-05-10-15-14.csv' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' LINES TERMINATED BY '\r\n' FROM collector;

或者类似的。

wixjitnu

wixjitnu1#

您可以使用准备好的语句来创建查询字符串,然后执行它https://dev.mysql.com/doc/refman/8.0/en/sql-syntax-prepared-statements.html
这是我的解决方案
首先创建变量来保存查询字符串。
使用concat函数将当前日期时间注入查询字符串。
使用date\u格式和now函数获取当前日期时间

set @sql = concat("SELECT * INTO OUTFILE 'C:/filePrefix_",DATE_FORMAT(NOW(), '%Y%m%d%H%i%s'),".fileExtension' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' LINES TERMINATED BY '\r\n' FROM `table`");
prepare s1 from @sql; --create statment from variable 
execute s1; -- execute prepared statements

相关问题