Di Oracle Database, NUMTOYMINTERVAL()
fungsi mengonversi angka menjadi INTERVAL YEAR TO MONTH
harfiah.
Sintaks
Sintaksnya seperti ini:
NUMTOYMINTERVAL(n, 'interval_unit')
n
argumen adalah angka yang akan dikonversi.
Nilai untuk interval_unit
menentukan unit n
dan harus diselesaikan ke salah satu nilai string berikut:
- ‘
YEAR
‘ - ‘
MONTH
‘
interval_unit
argumen tidak peka huruf besar/kecil.
Contoh
Berikut ini contoh untuk didemonstrasikan:
SELECT NUMTOYMINTERVAL(1, 'MONTH')
FROM DUAL;
Hasil:
+00-01
Ini satu lagi yang menggunakan tahun:
SELECT NUMTOYMINTERVAL(1, 'YEAR')
FROM DUAL;
Hasil:
+01-00
Pecahan
Ini salah satu yang berisi bagian pecahan dalam argumen pertama:
SELECT
NUMTOYMINTERVAL(10.56, 'YEAR') AS "Year",
NUMTOYMINTERVAL(10.56, 'MONTH') AS "Month"
FROM DUAL;
Hasil:
Year Month _________ _________ +10-07 +00-11
Sensitivitas Huruf Besar
Argumen kedua tidak peka huruf besar/kecil:
SELECT
NUMTOYMINTERVAL(150, 'YEAR') AS "YEAR",
NUMTOYMINTERVAL(150, 'year') AS "year"
FROM DUAL;
Hasil:
YEAR year __________ __________ +150-00 +150-00
Argumen Null
Melewati null
untuk salah satu argumen menghasilkan null
:
SET NULL 'null';
SELECT
NUMTOYMINTERVAL(1, null),
NUMTOYMINTERVAL(null, 'year')
FROM DUAL;
Hasil:
NUMTOYMINTERVAL(1,NULL) NUMTOYMINTERVAL(NULL,'YEAR') __________________________ _______________________________ null null
Secara default, SQLcl dan SQL*Plus mengembalikan ruang kosong setiap kali null
terjadi sebagai akibat dari SQL SELECT
penyataan.
Namun, Anda dapat menggunakan SET NULL
untuk menentukan string berbeda yang akan dikembalikan. Di sini saya menetapkan bahwa string null
harus dikembalikan.
Argumen Tidak Ada
Memanggil fungsi dengan jumlah argumen yang salah, atau tanpa meneruskan argumen apa pun, menghasilkan kesalahan:
SELECT NUMTOYMINTERVAL()
FROM DUAL;
Hasil:
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: