gpt4 book ai didi

MySQL 按字符串字段作为日期排序

转载 作者:行者123 更新时间:2023-11-29 23:25:39 29 4
gpt4 key购买 nike

我面临以下问题:我有一个数据库,其中保存用户名、某些数据、日期形式的数据。

不幸的是,“日期”字段是一个字符串字段,它保存来自 JavaScript 代码的日期,格式如下: “2014 年 11 月 9 日星期日 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';

有什么想法吗?谢谢。

最佳答案

由于日期存储格式为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

关于MySQL 按字符串字段作为日期排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26994243/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com