Penggunaan isnull, ifnull, nullif adalah sebagai berikut:
Penggunaan isnull(expr):Jika expr adalah null, maka isnull() mengembalikan nilai 1, jika tidak, ia mengembalikan 0. mySQL> pilih ISNULL(1+1); -> 0 mysql> pilih isnull(1/0); -> 1 Menggunakan = untuk perbandingan nilai nol biasanya salah.
Fungsi isnull() berbagi beberapa karakteristik yang sama dengan operator perbandingan is null. Lihat catatan tentang adalah null.
Penggunaan IFNULL(expr1,expr2):
Jika expr1 bukan NULL, nilai pengembalian IFNULL() adalah expr1; Jika tidak, ini mengembalikan nilai expr2. IFNULL() mengembalikan angka atau string, tergantung pada konteks di mana ia digunakan.
mysql> PILIH IFNULL(1,0); -> 1 mysql> PILIH IFNULL(NULL,10); -> 10 mysql> PILIH IFNULL(1/0,10); -> 10 mysql> PILIH IFNULL(1/0,'ya');
-> 'ya'
Nilai hasil default untuk IFNULL(expr1,expr2) adalah yang lebih "generik" dari dua ekspresi, dalam urutan STRING, REAL, atau BILANGAN BULAT。 Misalkan situasi di mana tabel berbasis ekspresi, atau MySQL harus menyimpan nilai pengembalian IFNULL() dalam tabel sementara di memori internal: CREATE TABLE tmp SELECT IFNULL(1,'test') AS test; Dalam contoh ini, kolom pengujian adalah jenis CHAR(4).
Penggunaan NULLIF(expr1,expr2): Jika expr1 = expr2 adalah true, maka nilai yang dikembalikan adalah NULL, jika tidak, nilai yang dikembalikan adalah expr1. Ini sama dengan CASE WHEN expr1 = expr2 MAKA NULL ELSE expr1 END adalah sama. mysql> PILIH NULLIF(1,1);
-> NOL mysql> PILIH NULLIF(1,2); -> 1 Jika parameternya tidak sama, maka MySQL mendapatkan nilai expr1 dua kali.
|