首页 > 解决方案 > Oracle 日期格式验证

问题描述

我在表中有一个 varchar 列,其中包含日期值。我只需要考虑 YYYYMMDD 格式的日期。我如何验证该值是否为 YYYYMMDD 格式。

Oracle 中没有 IS_date 函数来验证该值是否为有效日期?

标签: oracledate

解决方案


尝试为此创建一个用户定义的函数,因为 Oracle 中没有可用的 is_date 函数

create function valid-date(d varchar2) return varchar2
is
  v_date date;
begin
  select to_date(d,'yyyymmdd') into v_date from dual;
  return 'Valid';
  exception when others then return 'Invalid';
end;

您可以检查功能,例如,

select your_date_col, valid-date(your_date_col)
from your_table

推荐阅读