在mysql的存储过程中获取当前日期
我已经在mysql中创建了一个存储过程在mysql的存储过程中获取当前日期,mysql,sql,stored-procedures,Mysql,Sql,Stored Procedures,我已经在mysql中创建了一个存储过程 DELIMITER // CREATE PROCEDURE simpleproc () BEGIN SELECT YEAR(dtm), WEEK(dtm), b.x_title, COUNT(b.x_id) INTO OUTFILE '/appdata/reports01/result.csv' FIELDS T
DELIMITER //
CREATE PROCEDURE simpleproc ()
BEGIN
SELECT YEAR(dtm),
WEEK(dtm),
b.x_title,
COUNT(b.x_id)
INTO OUTFILE '/appdata/reports01/result.csv'
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
FROM tbla a
JOIN tblb b ON b.x_id = a.x_id
WHERE plan_grp_id IN (10031, 10034)
AND dtm > '20110101'
GROUP BY YEAR(dtm), WEEK(dtm), a.x_id;
END //
delimiter ;
我需要做两件事
INTO OUTFILE'/appdata/reports01/result.csv'
必须类似于“INTO OUTFILE'/appdata/reports01/result-当前时间戳.csv”dtm>CURDATE()+0
使用变量
DECLARE outfile_name varchar(300);
获取当前时间戳并将其附加到字符串的剩余部分。
使用INTO关键字将SELECT语句的输出转换为变量。
使用CONCAT()表示两个字符串的concating。使用变量
DECLARE outfile_name varchar(300);
获取当前时间戳并将其附加到字符串的剩余部分。
使用INTO关键字将SELECT语句的输出转换为变量。
使用CONCAT()表示2个字符串。不确定文件名。至于第二个“东西”,什么类型是
dtm
?您是否简单地尝试了dtm>CURDATE()
?是的。我尝试过,但由于某种原因它不起作用。我找到了解决方法。..dtm>(选择CURDATE()+0).但无法获取文件名时间戳..不确定文件名。至于第二件事,dtm
?您是否简单地尝试了dtm>CURDATE()
?是的..我尝试了,但由于某些原因它不起作用。我找到了解决方法..dtm>(选择CURDATE()+0)。但无法获取文件名时间戳。。