我以varchar格式存储了一个日期值(有效日期或无效日期)。是否可以在sql查询中检查日期是否有效。
发布于 2013-02-05 15:24:12
是的,如果你知道它的格式,并且用了一点plsql。
假设您有'yyyy-mon-dd hh24:mi:ss'
格式的日期。
create function test_date(d varchar2) return varchar2
is
v_date date;
begin
select to_date(d,'yyyy-mon-dd hh24:mi:ss') into v_date from dual;
return 'Valid';
exception when others then return 'Invalid';
end;
现在,您可以:
select your_date_col, test_date(your_date_col)
from your_table;
发布于 2013-02-05 15:25:28
你可以像这样在一个块中完成它
BEGIN
select TO_DATE(your_date,'YYYYMMDD') from dual; --ADD INTO V_DUMMY IN PLSQL
EXCEPTION WHEN OTHERS THEN dbms_output.put_line('NOT A VALID DATE');
END;
发布于 2013-02-05 20:01:06
只需使用to_date函数检查日期是否有效/无效即可。
BEGIN
select TO_DATE(your_date,DateFormat) from dual;
EXCEPTION WHEN OTHERS THEN dbms_output.put_line('NOT A VALID DATE');
END;
https://stackoverflow.com/questions/14702050
复制相似问题