SQLite
 sql >> Teknologi Basis Data >  >> RDS >> SQLite

Bagaimana Coalesce() Bekerja di SQLite

Dalam SQLite, coalesce() fungsi mengembalikan salinan argumen non-NULL pertamanya, atau NULL jika semua argumen adalah NULL.

Ini mirip dengan ifnull() fungsi, kecuali coalesce() menerima lebih dari dua argumen (ifnull() hanya menerima dua argumen).

Sintaks

Sintaksnya seperti ini:

coalesce(X,Y,...)

Artinya, Anda dapat memberikan dua atau lebih argumen. Fungsi tersebut kemudian akan mengembalikan yang pertama yang bukan NULL.

Contoh

Berikut ini contoh untuk didemonstrasikan.

SELECT coalesce(NULL,1);

Hasil:

1

Di sini saya memberikan dua argumen dan coalesce() mengembalikan nilai non-NULL pertama, yang dalam hal ini adalah 1 .

Contoh Lainnya

Berikut adalah lebih banyak variasi untuk menunjukkan bagaimana coalesce() menangani setiap kasus.

.mode line
SELECT
  coalesce(NULL,NULL,1,2,3),
  coalesce(1,NULL,2,3),
  coalesce(NULL,3,2,1),
  coalesce(1,2,3,NULL),
  coalesce(NULL,NULL);

Hasil:

coalesce(NULL,NULL,1,2,3) = 1
     coalesce(1,NULL,2,3) = 1
     coalesce(NULL,3,2,1) = 3
     coalesce(1,2,3,NULL) = 1
      coalesce(NULL,NULL) = 

Jadi sangat mudah. Ini hanya mengembalikan argumen pertama yang bukan NULL, terlepas dari berapa banyak argumen yang diberikan.

Perhatikan juga bahwa jika semua argumen adalah NULL, maka ia akan mengembalikan NULL.

Contoh Basis Data

Berikut ini contoh penggunaan coalesce() fungsi dalam kueri basis data.

.mode column
SELECT 
  CustomerId, 
  coalesce(Fax, 'N/A') AS Fax
FROM Customer
LIMIT 5;

Hasil:

CustomerId  Fax          
----------  -------------
1           +55 (12) 3923
2           N/A          
3           N/A          
4           N/A          
5           +420 2 4172 5

Berikut tampilannya tanpa menggunakan coalesce() fungsi:

.mode column
SELECT 
  CustomerId, 
  Fax
FROM Customer
LIMIT 5;

Hasil:

CustomerId  Fax               
----------  ------------------
1           +55 (12) 3923-5566
2                             
3                             
4                             
5           +420 2 4172 5555  

Jadi coalesce() function dapat berguna untuk mengembalikan string yang bermakna alih-alih NULL.

Dengan Tiga Argumen

Berikut ini contoh menambahkan argumen ketiga. Ini memungkinkan kita untuk menjalankan beberapa opsi sebelum tiba di NULL.

SELECT 
  CustomerId, 
  coalesce(Fax, Email, 'N/A') AS "Fax/Email"
FROM Customer
LIMIT 5;

Hasil:

CustomerId  Fax/Email             
----------  ----------------------
1           +55 (12) 3923-5566    
2           [email protected] 
3           [email protected]   
4           [email protected] 
5           +420 2 4172 5555      

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kembalikan Daftar Kunci Asing di SQLite

  2. Perbaiki Kesalahan:"PILIH ke kiri dan kanan UNION tidak memiliki jumlah kolom hasil yang sama" di SQLite

  3. Bagaimana SQLite Upper() Bekerja

  4. data yang dimuat dari database SQLitE tidak disimpan di kelas model ArrayList android

  5. Netralisasi yang Tidak Tepat dari Elemen Khusus yang digunakan dalam Perintah SQL