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

Oracle ISNULL () Setara

Sebagian besar DBMS utama menyediakan fungsi untuk mengganti nilai null dengan nilai lain.

Tetapi nama fungsi cenderung berbeda di seluruh DBMS. Misalnya, SQL Server memiliki ISNULL() fungsi, sementara yang lain (seperti MySQL, MariaDB, dan SQLite) memiliki IFNULL() berfungsi untuk melakukan hal yang sama.

Namun, untuk membingungkan, MySQL dan MariaDB masing-masing memiliki ISNULL() fungsi yang bekerja secara berbeda dengan fungsi SQL Server dengan nama yang sama (implementasi MySQL dan MariaDB hanya menerima satu argumen, dan mengembalikan 1 jika null dan 0 jika tidak).

Bagaimanapun, dalam kasus Oracle Database, kita dapat menggunakan NVL() berfungsi untuk mengganti nilai null dengan nilai lain.

Sebenarnya, Oracle Database juga memiliki NVL2() fungsi yang memungkinkan kita memberikan nilai lain untuk digunakan jika argumen pertama bukan null .

Jika kita hanya ingin menguji apakah suatu nilai adalah null atau tidak, kita dapat menggunakan IS NULL kondisi (atau IS NOT NULL untuk tes sebaliknya).

NVL() Fungsi

Berikut adalah contoh yang menunjukkan bagaimana NVL() fungsi berfungsi:

SELECT NVL(null, 'Run')
FROM DUAL;

Hasil:

Run

Dalam hal ini, argumen pertama adalah null dan argumen kedua dikembalikan.

Inilah yang terjadi ketika argumen pertama bukan null :

SELECT NVL('Walk', 'Run')
FROM DUAL;

Hasil:

Walk

Argumen pertama dikembalikan.

NVL2() Fungsi

Seperti yang disebutkan, Oracle Database juga memberi kita NVL2() fungsi. Fungsi ini memungkinkan kita untuk memberikan nilai lain untuk digunakan jika argumen pertama bukan null .

Berikut ini contoh cara kerjanya:

SELECT NVL2(null, 2, 3)
FROM DUAL;

Hasil:

3

Argumen pertama adalah null dan argumen ketiga dikembalikan.

Inilah yang terjadi ketika argumen pertama bukan null :

SELECT NVL2(1, 2, 3)
FROM DUAL;

Hasil:

2

Argumen kedua dikembalikan.

IS NULL dan IS NOT NULL Ketentuan

Jika kita hanya ingin mengetahui apakah suatu nilai adalah null , kita dapat menggunakan IS NULL kondisi perbandingan. Sebagai alternatif, kita dapat menggunakan IS NOT NULL untuk memeriksa apakah itu bukan null .

Misalkan kita memiliki tabel berikut:

SELECT * FROM Autoparts
WHERE Price IS NULL;

Hasil:

ID OE# HARGA MODEL
2 62150B3278 CAMRY
1 62150A3278 168 HILUX

Dalam hal ini, PRICE kolom berisi nilai nol untuk baris pertama, tetapi tidak untuk baris kedua.

Berikut ini contoh penggunaan IS NULL terhadap tabel itu:

SELECT * FROM Autoparts
WHERE Price IS NULL;

Hasil:

ID OE# HARGA MODEL
2 62150B3278 CAMRY

Hanya baris dengan harga nol yang dikembalikan.

Inilah yang terjadi ketika kita menggunakan IS NOT NULL :

SELECT * FROM Autoparts
WHERE Price IS NOT NULL;

Hasil:

ID OE# HARGA MODEL
1 62150A3278 168 HILUX

Baris lainnya dikembalikan.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Memasukkan Gambar Ke BLOB Oracle 10g

  2. Menghubungkan Perangkat Lunak IRI ke Oracle

  3. Percepat operasi penyisipan massal dengan NHibernate

  4. C#:Kesetaraan Tipe Data Oracle dengan OracleDbType

  5. SQL Dev 4.2 SQL Teratas