我的表有varchar数据类型的日期列,它接受不同的日期格式(dd-mm-yy,mm-dd-yy,yy-mm-dd),如何选择此表的记录。
姓名|日期
约翰| 2014年1月1日
凯恩| 2014年1月12日马修| 2014年12月1日
杰克| 2014年1月1日
我接受这些格式(dd-mm-yy,mm-dd-yy,yy-mm-dd)到Date字段,我使用DATE_TIME它返回NULL并且无法使用STR_TO_TIME,因为该列具有不同的格式。我如何在日期列上使用where和select子句。
答案 0 :(得分:0)
你应该有统一的日期格式。但是如果不可能,则需要再添加一列详细说明日期列的格式并处理应用程序或格式函数中的逻辑:
Name | Date | DateFormat
John | 2014-01-01 |yyyy-mm-dd
Kane | 01-12-2014 |dd-mm-yyyy
Mathew| 12-01-2014 |mm-dd-yyyy
Jack | 2014-01-01 |yyyy-mm-dd