sql >> Databáze >  >> RDS >> Oracle

Jak otestovat, zda je řetězec formátu data platným řetězcem formátu data v Oracle

můžete vytvořit funkci:

např.:

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;

a použijte jej takto

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

v současné době umožňuje také formáty času, ale bylo by jednoduché jej rozšířit tak, aby zakázal formát, který obsahuje nežádoucí formáty, např.:hh hh24 mi ss

přidáním:(pravděpodobně budete chtít nejprve zadat velký formátovací řetězec)

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. Nemohu se rozhodnout, zda by fungovala normalizace nebo denormalizace

  2. Nainstalujte webový server ve Windows XP s Apache2, PHP5 a MySQL4 – část 4

  3. JDBC Create Table Příklad použití příkazu

  4. Jak zachovat zpětné lomítko při escapování uvozovek v MySQL – QUOTE()