Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Fungsi NUMTOYMINTERVAL() di Oracle

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:

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hasilkan tanggal acak di Oracle dengan DBMS_RANDOM

  2. Menemukan baris yang tidak berisi data numerik di Oracle

  3. Oracle ORA-01008:tidak semua variabel terikat Kesalahan w/ Parameter

  4. Mengikat variabel ke nama tabel dengan cx_Oracle

  5. Kesalahan mencetak variabel REFCURSOR sebagai parameter OUT dalam prosedur di Oracle 11g