在比较灵活的需求中,需要取业务提供的数据,单格式的差异很大,比如在日期列中填的是5位的数字,如图所示:
接下来就需要将这些数字转换为日期,其实这些5位的数字是代表,1899-12-30 以后多少天。比如 40000 代表 1899-12-30 以后 40000天。
代码如下:
select date('1899-12-30') + interval 日期 day ,日期from date_csv dc where 日期 not REGEXP '[^\x00-\xff]'