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 日期格式?

mysql日期操作

PHP日期格式怎么转换

如何将MYSQL中的混合日期转换为yyyy-mm-dd格式

mysql 中的日期格式。date_format( ) 转换格式

mysql中怎么把日期的格式转换为YYYYMMDD的数字形式,谢谢