首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何通过SQL查询在表中提取错误的日期

如何通过SQL查询在表中提取错误的日期
EN

Stack Overflow用户
提问于 2018-03-11 11:47:31
回答 2查看 165关注 0票数 0

我有一个名为emp的表,其中一列是hiredate。我的雇用日期列中包含错误的日期。例如:2018年2月30日、2018年4月31日、2018年6月31日等,这意味着这些月份中不存在这些日期。如何通过sql查询找出那些错误的日期?

EN

Stack Overflow用户

发布于 2018-03-11 14:03:46

在Oracle12.2及更高版本中,可以使用TO_DATEDEFAULT .. ON CONVERSION ERROR选项轻松地实现验证

代码语言:javascript
运行
复制
SQL> with t(hiredate)
  2  AS
  3  (
  4  select '28-feb-2018' FROM DUAL UNION ALL
  5  select '30-feb-2018' FROM DUAL UNION ALL
  6  select '31-apr-2018' FROM DUAL UNION ALL
  7  select '31-jun-2018' FROM DUAL
  8  )
  9  SELECT hiredate
    ,TO_DATE(hiredate DEFAULT NULL ON CONVERSION ERROR
        ,'DD-MON-YYYY') valid_date
FROM t;

HIREDATE    VALID_DATE
----------- ---------
28-feb-2018 28-FEB-18
30-feb-2018 NULL
31-apr-2018 NULL
31-jun-2018 NULL
票数 1
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49216453

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档