sql >> Database teknologi >  >> RDS >> Oracle

Sådan testes, om datoformatstreng er en gyldig datoformatstreng i Oracle

du kan oprette en funktion:

f.eks.:

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;

og brug det sådan her

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

i øjeblikket vil det også tillade tidsformater, men det ville være nemt at udvide det til at forbyde et format, der indeholder uønskede formater, f.eks.:hh hh24 mi ss

ved at tilføje:(du vil sandsynligvis have store bogstaver i din formatstreng først)

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. Brug af kommandoen LOAD DATA INFILE i en lagret procedure

  2. SQL-opdatering fra en tabel til en anden baseret på et ID-match

  3. Sådan fungerer INSTR()-funktionen i MySQL

  4. EEE MMM dd TT:mm:ss ZZZ åååå datoformat til java.sql.Date