sql >> データベース >  >> RDS >> Oracle

日付フォーマット文字列がOracleで有効な日付フォーマット文字列であるかどうかをテストする方法

    関数を作成できます:

    例:

    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;
    



    1. mysqlでミリ秒またはマイクロ秒でロード時間を取得する方法

    2. MySQLiは、SSLを使用する場合、デフォルトでサーバー証明書を検証しますか?

    3. MySQLUTF-8文字挿入の問題

    4. Laravel5.2の履歴テーブルの最新のエントリを取得するためのクエリ