MySQL中的日期格式转换
Posted
技术标签:
【中文标题】MySQL中的日期格式转换【英文标题】:date format conversion in MySQL 【发布时间】:2014-09-05 05:37:26 【问题描述】:我将日期时间保存在 varchar 字段中,格式为 15.03.2014 11:50:18:60
如何更改2014-03-15 11:50:18.60
中的格式
【问题讨论】:
哪个 DBMS?你的标题是 mysql,但标签是 sql-server? 输入(11:50:18.60)的时间值在哪里? @Jesuraja,上面给出的数据只是格式的例子。 您应该给出正确的输入和预期的输出。Here input is March 15, expected output is July 15
。怎么可能?想一想……
【参考方案1】:
对于 MySQL(除非我不知道 :60
是什么):
mysql> SELECT STR_TO_DATE('15.03.2014 11:50:18:60', '%d.%m.%Y %H:%i:%s');
+------------------------------------------------------------+
| STR_TO_DATE('15.03.2014 11:50:18:60', '%d.%m.%Y %H:%i:%s') |
+------------------------------------------------------------+
| 2014-03-15 11:50:18 |
+------------------------------------------------------------+
【讨论】:
【参考方案2】:好的,首先我要明确一点:不要对日期时间使用 varchar 数据类型。
很可能不是你的错,你继承了这个,但问题仍然存在,因此你需要从 varchar 转换为 datetime 并格式化它。
SELECT CONVERT(VARCHAR(19), mycolumn, 120) FROM mytable
您可以将输出格式更改为您需要的任何时间样式。例如。 yyyy-mm-dd hh:mi:ss(24h) 格式为 120。
【讨论】:
【参考方案3】:试试这个:
select CONVERT(datetime, '15.03.2014 00:00:00', 104)
这里使用CONVERT
函数将varchar
转换为datetime
。第三个参数是键,因为它指定了datetime
值的格式。
更多关于on MSDN
【讨论】:
以上是关于MySQL中的日期格式转换的主要内容,如果未能解决你的问题,请参考以下文章
如何将欧洲格式的字符串日期转换为有效的 mysql 日期格式?