str_to_date 更改年份数据 MySQL
Posted
技术标签:
【中文标题】str_to_date 更改年份数据 MySQL【英文标题】:str_to_date change year data MySQL 【发布时间】:2020-11-07 07:26:35 【问题描述】:我正在尝试将我的日期格式 mm/dd/yyyy
更改为 mysql 格式 yyyy-mm-dd
。
但它将数据年份更改为2020
。
product_history
表:
log_date id stock
10/30/2018 1001 59
10/30/2018 1002 35
10/30/2018 1003 54
10/30/2018 1004 40
10/30/2018 1005 5
10/30/2018 1006 20
10/30/2018 1007 69
...
这是我的代码:
SELECT *, str_to_date(my_schema.product_history.log_date, '%m/%d/%y') as new_log_date FROM my_schema.product_history
输出:
log_date id stock new_log_date
10/30/2018 1001 59 2020-10-30
10/30/2018 1002 35 2020-10-30
10/30/2018 1003 54 2020-10-30
10/30/2018 1004 40 2020-10-30
10/30/2018 1005 5 2020-10-30
10/30/2018 1006 20 2020-10-30
10/30/2018 1007 69 2020-10-30
...
【问题讨论】:
my_schema.product_history.log_date
的输出是什么?
【参考方案1】:
%y
以两位数表示年份。由于您有四位数字,因此您应该改用%Y
:
SELECT *, str_to_date(my_schema.product_history.log_date, '%m/%d/%Y') AS new_log_date
-- Here ----------------------------------------------------------^
FROM my_schema.product_history
【讨论】:
谢谢。通过将%y
更改为%Y
,年份数据是正确的。以上是关于str_to_date 更改年份数据 MySQL的主要内容,如果未能解决你的问题,请参考以下文章
#1411 - INSERT INTO...SELECT 上函数 str_to_date 的日期时间值不正确