mysql - 在字符串中使用当前年份到日期函数

标签 mysql

预计该年份将被选为当前年份而不是 00 年份,如下所示。

mysql> select str_to_date('Jul 15 12:12:51', '%b %e %T');
+--------------------------------------------+
| str_to_date('Jul 15 12:12:51', '%b %e %T') |
+--------------------------------------------+
| 0000-07-15 12:12:51                        |
+--------------------------------------------+

预期结果:

| 2013-07-15 12:12:51                        |

最佳答案

嗯,这是有意的。引用 doc :

Unspecified date or time parts have a value of 0, so incompletely specified values in str produce a result with some or all parts set to 0. [...] “Zero” dates or dates with part values of 0 are permitted unless the SQL mode is set to disallow such values.

很容易修复,顺便说一句:

select str_to_date(CONCAT(YEAR(NOW()), ' ', 'Jul 15 12:12:51'), '%Y %b %e %T');
-- July, 15 2013 12:12:51+0000 

关于mysql - 在字符串中使用当前年份到日期函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17648828/

相关文章:

mysql - MySQL 更新行中的 LIMIT

mysql - 连接到本地数据库

mysql - Laravel:将结果与 UnionAll 和 where 条件结合起来

mysql - group by中带数据函数的query如何优化

mysql - SELECT 语句内的 Case 语句中的 SELECT 语句

mysql - ASP.NET 中的全局变量和 session

MySQL Count + GroupBy & OrderBy 和最后一条记录

MySQL:我如何将特定数量的空白行插入表中

php - 使用 PHPExcel 从 MySQL 查询结果中导出 PDF

mysql - 使用 MySQL 在 Phoenix 中将时间戳设置为微秒