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: