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

OracleのNUMTODSINTERVAL()関数

    Oracle Databaseでは、NUMTODSINTERVAL() 関数は、数値をINTERVAL DAY TO SECONDに変換します 文字通り。

    構文

    構文は次のようになります:

    NUMTODSINTERVAL(n, 'interval_unit')

    n 引数は変換する番号です。

    interval_unitの値 nの単位を指定します 次の文字列値のいずれかに解決する必要があります:

    • DAY
    • HOUR
    • MINUTE
    • SECOND

    interval_unit 引数では大文字と小文字は区別されません。

    デモンストレーションの例を次に示します。

    SELECT NUMTODSINTERVAL(1, 'SECOND')
    FROM DUAL;

    結果:

    +00 00:00:01.000000

    これが1分を使用するもう1つのものです:

    SELECT NUMTODSINTERVAL(1, 'MINUTE')
    FROM DUAL;

    結果:

    +00 00:01:00.000000

    フラクショナル秒

    デフォルトでは、戻り値の精度は9です。最初の引数で秒の小数部を指定するものは次のとおりです。

    SELECT NUMTODSINTERVAL(10.123456789, 'SECOND')
    FROM DUAL;

    結果:

    +00 00:00:10.123456789

    別の間隔単位に変更すると、次のようになります。

    SELECT NUMTODSINTERVAL(10.123456789, 'DAY')
    FROM DUAL;

    結果:

    +10 02:57:46.666569600

    ヌル引数

    nullを渡す どちらの引数でも、結果はnullになります :

    SET NULL 'null';
    SELECT 
        NUMTODSINTERVAL(1, null),
        NUMTODSINTERVAL(null, 'SECOND')
    FROM DUAL;

    結果:

       NUMTODSINTERVAL(1,NULL)    NUMTODSINTERVAL(NULL,'SECOND') 
    __________________________ _________________________________ 
    null                       null                             

    デフォルトでは、SQLclおよびSQL * Plusは、nullの場合は常に空白を返します。 SQL SELECTの結果として発生します 声明。

    ただし、SET NULLは使用できます 返される別の文字列を指定します。ここでは、文字列nullを指定しました 返却する必要があります。

    引数がありません

    引数の数が間違っているか、引数を渡さずに関数を呼び出すと、エラーが発生します:

    SELECT NUMTODSINTERVAL()
    FROM DUAL;

    結果:

    Error starting at line : 1 in command -
    SELECT NUMTODSINTERVAL()
    FROM DUAL
    Error at Command Line : 1 Column : 8
    Error report -
    SQL Error: ORA-00909: invalid number of arguments
    00909. 00000 -  "invalid number of arguments"
    *Cause:    
    *Action:

    1. Oracle集合演算子

    2. MySQLにUnicodeを保存する方法は?

    3. OracleシャットダウンエラーORA-01033

    4. SQLServerでUnixタイムスタンプを日付/時刻値に変換する方法