【发布时间】:2011-07-06 17:51:09
【问题描述】:
我在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 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-current-timestamp.csv' - dtm > '20110101' 必须是 dtm > CURDATE() + 0 。
这个:
SELECT CURDATE() + 0
...让我得到格式“20110101”,但我不能在像dtm > CURDATE() + 0这样的查询中使用它
【问题讨论】:
-
不确定文件名。至于第二个“东西”,
dtm是什么类型?您是否尝试过简单的dtm > CURDATE()? -
是的。我试过了,但由于某种原因它不起作用。我找到了解决这个问题的方法.. dtm > (SELECT CURDATE() + 0 )。但无法获取文件名时间戳..
标签: mysql sql stored-procedures