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: