Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak sprawdzić, czy ciąg formatu daty jest prawidłowym ciągiem formatu daty w Oracle?

możesz utworzyć funkcję:

np.:

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;

i używaj go w ten sposób

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

w tej chwili pozwoli to również na formaty czasu, jednak łatwo byłoby go rozszerzyć, aby uniemożliwić format, który zawiera niepożądane formaty, np.:hh hh24 brak

dodając:(prawdopodobnie najpierw będziesz chciał zamienić swój format na wielkie litery)

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. UPSERT do tabeli z dynamiczną nazwą tabeli

  2. procedura składowana do wybierania wszystkich wierszy z tabeli w Oracle

  3. Jak dołączyć ciąg znaków do klauzuli where w APEX Interactive Report SQL?

  4. Nazwa już używana przez istniejący obiekt w VBA

  5. SQLException:nie znaleziono odpowiedniego sterownika dla jdbc:oracle:thin:@//localhost:1521/orcl