我有一个日期格式不一致的表格。例如:
ID date name
1 01.02.2015 exampleA
2 12.13.2015 exampleB
3 1.11.2015 exampleC
有时日期格式为d.m.Y,有时格式为m.d.Y.我创建了这个SQL语句,它以统一的格式转换结果的日期列:
SELECT IFNULL(DATE_FORMAT(STR_TO_DATE(date, '%d.%m.%Y'), '%d.%m.%Y'),
DATE_FORMAT(STR_TO_DATE(date, '%m.%e.%Y'), '%e.%m.%Y')) AS date,
Name,
ID
FROM `exampleTable`
ORDER BY `date` DESC
但是结果并没有按日期排序,因为这个列被视为数字或其他内容,因此顺序没有意义。
答案 0 :(得分:1)
似乎无法区分programmaticaly日期的格式,如02.03.2015,它可以是%d.%m.%Y
和%m.%e.%Y
它会在两种情况下给出结果,尽管结果会有所不同。对于类似的varcahar输入,信息已丢失