开发人员为我们创建了一个表,并将日期字段设为VARCHAR(255),字段名称为“请求发货日期”。
首先是的,我知道这些都是糟糕的数据库管理,但我没有参与创建点,就在现在请运行报告点。
所以,我正在尝试将此字段转换为日期值,并且正在使用STR_TO_DATE(Requested Ship Date,"%m/%d/%y")
(它在代码中具有正确的语法)
问题是我得到了一个奇怪的结果。 '请求发货日期'=转换后的5月31日,即2020-05-31。
提前谢谢。
答案 0 :(得分:1)
%y
是没有世纪的年份,%Y
是年世纪。
所以2017年被解释为'20,即2020年。
答案 1 :(得分:0)
这是我从查询中得到的结果
05/30/2017 05/31/2017 2017-05-30
05/30/2017 05/31/2017 2017-05-30
05/31/2017 05/31/2017 2017-05-31
以下是查询的实际代码
select `Requested Ship Date`,
`Actual Post Goods Issue date`,
STR_TO_DATE(`Requested Ship Date`,'%m/%d/%Y')
FROM `previous day shipments`
WHERE LENGTH(`Serial Number`) = 0