SQL生日问题排查及调整
Excel 生日格式严重不一致导致导入发生问题
在发现部分数据库中的生日数据与导入表实际上是不一致的错误,通过怎么样的方式来实现查询并修正呢?
因为我们部分数据日与月相反,我们想要通过导入前的那张招生表来查出差别。
实际操作中,Excel无法完美识别出日期,导致无法对比。
多表合并对比
SQL命令里面我们根据网上
select CONVERT (varchar(23), getdate(), 121)
也无法得到我们想要的YYYY-MM-DD HH:MM:SS.000 格式
因为我们SQL数据库的数据是datetime的形式储存的(不是varchar)。
我们也尝试使用Select Concat(a,b)的形式合并时间。(即把招生表的2012-04-15,新建00:00:00.000,并合并成一个)
结果也不满意。
最终方法
实际上,最好的方式还是
SELECT PARSE(‘21/11/2014’ AS datetime USING ‘it-IT’)
也就是
SELECT PARSE(你的表.你的字段col AS datetime USING ‘it-IT’)
这样才是最好的方式。
后语
实际上,多表查询并不能查询出生日中的“日/月”对换错误,因为在原表中,就已经是错误的了。所以在使用Excel中调整日期的格式一定要十分注意,免得他之调整了一部分。
然后我们再也不知道哪些是对的,哪些是错的。
- 标题: SQL生日问题排查及调整
- 作者: 暗香疏影
- 创建于 : 2019-09-03 00:00:00
- 更新于 : 2019-09-03 00:00:00
- 链接: https://blog.23ikr.com/2019/09/03/2019-09-03-Birthday-Date-Type-Switch/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论