【问题标题】:Format the date and time in MySQL default format以 MySQL 默认格式格式化日期和时间
【发布时间】:2018-03-18 03:40:21
【问题描述】:

我有一个带有外汇报价数据的 MySQL 表

pair     tick_date_time         price_low  price_high  
-------  ---------------------  ---------  ------------
USD/JPY  20091201 00:00:00.628  86.280000  86.286000   
USD/JPY  20091201 00:00:00.722  86.280000  86.289000   
USD/JPY  20091201 00:00:00.741  86.281000  86.289000   
USD/JPY  20091201 00:00:01.130  86.283000  86.289000   
USD/JPY  20091201 00:00:01.131  86.283000  86.289000

此表中的日期/时间未采用 MySQL 默认格式。我使用查询来格式化数据

SELECT DATE_FORMAT(t.tick_date_time, "%Y%m%d %H:%i:%s") FROM table AS t

这将返回NULL。知道我哪里错了吗?如果可能的话,我也喜欢提取毫秒。

【问题讨论】:

  • 包含有关列数据类型的信息时会有所帮助。

标签: mysql sql datetime select datetime-format


【解决方案1】:

您正在寻找函数str_to_date(),而不是date_format()

SELECT str_to_date(t.tick_date_time, '%Y%m%d %H:%i:%s') 

date_format() 获取一个日期并生成一个字符串。 str_to_date() 接受一个字符串并将其转换为日期。

【讨论】:

猜你喜欢
  • 2014-01-09
  • 2013-05-09
  • 2022-10-14
  • 1970-01-01
  • 1970-01-01
  • 2014-12-15
  • 1970-01-01
  • 1970-01-01
  • 2021-07-02
相关资源
最近更新 更多