Oracle Databaseでは、NUMTOYMINTERVAL()
関数は、数値をINTERVAL YEAR TO MONTH
に変換します 文字通り。
構文
構文は次のようになります:
NUMTOYMINTERVAL(n, 'interval_unit')
n
引数は変換する番号です。
interval_unit
の値 n
の単位を指定します 次の文字列値のいずれかに解決する必要があります:
- ‘
YEAR
‘ - ‘
MONTH
‘
interval_unit
引数では大文字と小文字は区別されません。
例
デモンストレーションの例を次に示します。
SELECT NUMTOYMINTERVAL(1, 'MONTH')
FROM DUAL;
結果:
+00-01
その年を使用するもう1つの例は次のとおりです。
SELECT NUMTOYMINTERVAL(1, 'YEAR')
FROM DUAL;
結果:
+01-00
分数
これは、最初の引数に小数部分が含まれているものです:
SELECT
NUMTOYMINTERVAL(10.56, 'YEAR') AS "Year",
NUMTOYMINTERVAL(10.56, 'MONTH') AS "Month"
FROM DUAL;
結果:
Year Month _________ _________ +10-07 +00-11
大文字と小文字の区別
2番目の引数は大文字と小文字を区別しません:
SELECT
NUMTOYMINTERVAL(150, 'YEAR') AS "YEAR",
NUMTOYMINTERVAL(150, 'year') AS "year"
FROM DUAL;
結果:
YEAR year __________ __________ +150-00 +150-00
ヌル引数
null
を渡す どちらの引数でも、結果はnull
になります :
SET NULL 'null';
SELECT
NUMTOYMINTERVAL(1, null),
NUMTOYMINTERVAL(null, 'year')
FROM DUAL;
結果:
NUMTOYMINTERVAL(1,NULL) NUMTOYMINTERVAL(NULL,'YEAR') __________________________ _______________________________ null null
デフォルトでは、SQLclおよびSQL * Plusは、null
の場合は常に空白を返します。 SQL SELECT
の結果として発生します 声明。
ただし、SET NULL
は使用できます 返される別の文字列を指定します。ここでは、文字列null
を指定しました 返却する必要があります。
引数がありません
間違った数の引数を使用して、または引数を渡さずに関数を呼び出すと、エラーが発生します:
SELECT NUMTOYMINTERVAL()
FROM DUAL;
結果:
Error starting at line : 1 in command - SELECT NUMTOYMINTERVAL() 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: