sql >> Database >  >> RDS >> Oracle

Hoe te testen of de tekenreeks voor datumnotatie een geldige tekenreeks voor datumnotatie is in Oracle

je zou een functie kunnen maken:

bijv.:

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;

en gebruik het als volgt

IF is_valid_date_format('dd/mm/yyyy') THEN

op dit moment zal het ook tijdformaten toestaan, maar het zou eenvoudig zijn om het uit te breiden om een ​​formaat te verbieden dat ongewenste formaten bevat, bijvoorbeeld:hh hh24 mi ss

door toe te voegen:(u wilt waarschijnlijk eerst uw opmaakstring in hoofdletters)

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;



  1. Incrementeel laden in SSIS

  2. wordpress posts_orderby filter met aangepaste tabel in plug-in

  3. Alternatief voor FIND_IN_SET in SQLite?

  4. dynamisch polylijnen tekenen op googlemaps met php/mysql