判断字符串是否为年月日时分秒格式
CREATE OR REPLACE FUNCTION IS_DATE(parameter VARCHAR2)
RETURN NUMBER
IS----判断字符串是否为日期格式,是返回1,否返回0
val DATE;
BEGIN
val := TO_DATE(NVL(parameter, 'a'), 'yyyy-mm-dd hh24:mi:ss');
RETURN 1;
EXCEPTION
WHEN OTHERS THEN
RETURN 0;
END;
调用示例:
declare res number;
begin
res := IS_DATE('2021-10-9 14:37:36'); --正确的日期格式
dbms_output.put_line(res);
end;
declare res number;
begin
res := IS_DATE('2021-10-39 14:37:36'); --错误的日期格式
dbms_output.put_line(res);
end;
在SQL语句中的使用示例:
UPDATE MID_CM_VISIT_INTERVIEWEE_TEMP B SET ABNORMAL_HINTS='审核日期字段应为日期格式。' WHERE IS_DATE(AUDIT_DATE) = 0;
判断字符串是否为时分格式,例如09:30、15:00
CREATE OR REPLACE FUNCTION IS_24DATE(parameter VARCHAR2)
RETURN NUMBER
IS----判断字符串是否为24小时制时间格式,例如09:30、15:00 是返回1,否返回0
val VARCHAR2(1000);
BEGIN
val := TO_CHAR(TO_DATE(NVL(parameter, 'a'), 'HH24:MI'), 'HH24:MI');
RETURN 1;
EXCEPTION
WHEN OTHERS THEN
RETURN 0;
END;