解决方法
你可以创建一个函数:
例如:
FUNCTION is_valid_date_format ( p_format IN VARCHAR2 ) RETURN BOOLEAN IS l_date VARCHAR2(100) := NULL; BEGIN l_date := TO_char( sysdate,p_format ); RETURN TRUE; EXCEPTION WHEN OTHERS THEN RETURN FALSE; END is_valid_date_format;
并像这样使用它
IF is_valid_date_format('dd/mm/yyyy') THEN
目前它也将允许时间格式,但是将它扩展为不允许包含不需要的格式的格式会很简单,例如:hh hh24 mi ss
通过添加:(您可能希望首先大写您的格式字符串)
IF INSTR(p_format,'HH')>0 OR INSTR(p_format,'HH24')>0 OR INSTR(p_format,'MI')>0 OR INSTR(p_format,'SS')>0 THEN RETURN FALSE END IF;