【问题标题】:date format conversion in MySQLMySQL中的日期格式转换
【发布时间】: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。怎么可能?想一想……

标签: mysql datetime


【解决方案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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-08-13
        • 2014-02-25
        • 2017-08-15
        • 1970-01-01
        • 2017-12-17
        • 1970-01-01
        • 1970-01-01
        • 2013-12-15
        相关资源
        最近更新 更多