oracle筛选不能进行字符串转日期to 您所在的位置:网站首页 oracle将日期转为字符串 oracle筛选不能进行字符串转日期to

oracle筛选不能进行字符串转日期to

2024-02-10 09:57| 来源: 网络整理| 查看: 265

在oracle中,有时候需要对时间格式的字符串进行排序

比如说有个字段是TEST_TIME是varchar类型的,但是需要通过它对数据进行排序,就需要对字段进行to_date转换。但有时候数据中会出现脏数据(不能转换为date的数据)。导致报错。报错如下显示:

 

 因此需要把脏数据给排除掉或者找出来删除掉。

因此需要写一个function把不能转换位日期的字符串找出来。思路就是把字符串转换为日期,如果成功就返回'Y',如果报错,就返回'N'

function如下显示:

CREATE OR REPLACE FUNCTION F_IS_DATE (I_DATE VARCHAR2) RETURN VARCHAR2 IS V_DATE DATE; BEGIN V_DATE := to_date(I_DATE,'yyyy-mm-dd hh24:mi:ss'); RETURN 'Y'; EXCEPTION WHEN OTHERS THEN RETURN 'N'; END F_IS_DATE;

然后这样就可以写出一个筛选不能转换为日期的字符串了。

sql如下:

select * from SFC_DATAGROUP_DJ where f_is_date(TEST_TIME)='N'

就能找出不能转换为日期的字符串了

 

 

同理:字符串转小数,字符串转整数等等都可以用相似的方式筛选出不符合要求的数据。

参考:https://zhidao.baidu.com/question/691902130567092484.html



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有