我面临以下问题:我有一个数据库,以用户名,somedata,date的形式保存数据。
不幸的是,'date'字段是一个字符串字段,它保存来自例如表单中的javascript代码的日期。 “Sun Nov 09 2014 18:34:39 GMT + 0530(IST)”
我需要按时间顺序导出一个包含数据的文件,因为数据很大我当然不能手动排序,我需要通过mysql来完成。
现在,我使用下面的代码,但是没有达到我需要的代码
SELECT *
FROM log
ORDER BY STR_TO_DATE(date, '%d/%m/%Y'),username
INTO OUTFILE '/tmp/file8'
FIELDS ENCLOSED BY '"' TERMINATED BY ';' ESCAPED BY '"'
LINES TERMINATED BY '\r\n';
有什么想法吗?感谢。
答案 0 :(得分:0)
由于日期以Sun Nov 09 2014 18:34:39 GMT+0530 (IST)
str_to_date
将返回null
mysql> select STR_TO_DATE('Sun Nov 09 2014 18:34:39 GMT+0530 (IST)', '%d/%m/%Y') as date;
+------+
| date |
+------+
| NULL |
+------+
格式正确
mysql> select str_to_date('Sun Nov 09 2014 18:34:39 GMT+0530 (IST)','%a %b %d %Y %H:%i:%s') as date ;
+---------------------+
| date |
+---------------------+
| 2014-11-09 18:34:39 |
+---------------------+
您需要提供此处列出的正确日期格式设置参数 http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-format