美文网首页
关于查找日期格式的方法以及问题节点筛查【大数据】

关于查找日期格式的方法以及问题节点筛查【大数据】

作者: Susy_ca6f | 来源:发表于2018-05-21 15:37 被阅读0次

    【当数据库中有几十万条甚至更多的数据时,查找某一存在问题的记录就变得非常困难,这时需要一定思路,下面是今天解决日期问题的方法整理】

    1.SELECT TO_DATE(F_BIRTHDAY, 'yyyyMMdd') from T_PERSON_BASE_INFO ;

    规范日期格式为yyyy-mm-dd,然而其中有一条格式不对,怎么判断是否有格式不对的情况呢

    首先,利用日期格式类型转换函数TO_DATE('数据库原字段',‘转换输出的日期格式’),如果其中有格式不正确的数据,则会报错。

    我按照上述语句试图转换,系统提示(“无效的月份”),从而判断,可能有月份大于12,或者不是按照yyyy-mm-dd在数据库里存储的记录。

    2.select to_number(SUBSTR(F_BIRTHDAY,7,2)) as cnt from T_PERSON_BASE_INFO where ROWNUM < 10;

    SUBSTR(F_BIRTHDAY,7,2) 为截取字符串,将每个日期里的月份单独截取出来。第二个参数为截取的初始位置,第三个参数为截取长度

    to_number(SUBSTR(F_BIRTHDAY,7,2)) 将上述截取的字符串转换为数字格式。

    where ROWNUM < 400000;(原数据量有80万) 这里可以使用折半查找法, 如果在某一范围内能全部转换输出,说明这个范围内记录没问题。

    as cnt 代表为这个记录新赋一个列名

    如果输出 “无效字符”

    说明在这个范围内有问题,当记录缩小到一定程度,就可以定位然后肉眼修改。比如我的错误在412495-412500行之间,从数据库里定位到行数进而修改。

    具体筛选结果如下图。。。

    相关文章

      网友评论

          本文标题:关于查找日期格式的方法以及问题节点筛查【大数据】

          本文链接:https://www.haomeiwen.com/subject/oknfjftx.html