Bagikan melalui


NULL dan UNKNOWN (Transact-SQL)

Berlaku untuk: Titik akhir analitik SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Platform System (PDW) SQL di Microsoft Fabric Warehouse di Microsoft Fabric

NULL menunjukkan bahwa nilai tidak diketahui. Nilai null berbeda dari nilai kosong atau nol. Tidak ada dua nilai null yang sama. Perbandingan antara dua nilai null, atau antara nilai null dan nilai lainnya, mengembalikan tidak diketahui karena nilai setiap NULL tidak diketahui.

Nilai null umumnya menunjukkan data yang tidak diketahui, tidak berlaku, atau akan ditambahkan nanti. Misalnya, inisial pertengahan pelanggan mungkin tidak diketahui pada saat pelanggan melakukan pemesanan.

Perhatikan hal berikut ini tentang nilai null:

  • Untuk menguji nilai null dalam kueri, gunakan IS NULL atau IS NOT NULL dalam klausa WHERE.

  • Nilai null dapat disisipkan ke dalam kolom dengan secara eksplisit menyatakan NULL dalam pernyataan INSERT atau UPDATE atau dengan meninggalkan kolom dari pernyataan INSERT.

  • Nilai null tidak dapat digunakan sebagai informasi yang diperlukan untuk membedakan satu baris dalam tabel dari baris lain dalam tabel, seperti kunci primer, atau untuk informasi yang digunakan untuk mendistribusikan baris, seperti kunci distribusi.

Ketika nilai null ada dalam data, operator logis dan perbandingan berpotensi mengembalikan hasil ketiga UNKNOWN, bukan hanya TRUE atau FALSE. Kebutuhan untuk logika bernilai tiga ini adalah sumber dari banyak kesalahan aplikasi. Operator logis dalam ekspresi boolean yang menyertakan UNKNOWN akan mengembalikan UNKNOWN kecuali hasil operator tidak bergantung pada ekspresi UNKNOWN. Tabel ini menyediakan contoh perilaku ini.

Tabel berikut ini memperlihatkan hasil penerapan operator AND ke dua ekspresi Boolean di mana satu ekspresi mengembalikan UNKNOWN.

Ekspresi 1 Expression 2 Hasil
BENAR UNKNOWN UNKNOWN
UNKNOWN UNKNOWN UNKNOWN
SALAH UNKNOWN SALAH

Tabel berikut ini memperlihatkan hasil penerapan operator OR ke dua ekspresi Boolean di mana satu ekspresi mengembalikan UNKNOWN.

Ekspresi 1 Expression 2 Hasil
BENAR UNKNOWN BENAR
UNKNOWN UNKNOWN UNKNOWN
SALAH UNKNOWN UNKNOWN

Lihat Juga

DAN (T-SQL)
ATAU (T-SQL)
NOT (Transact-SQL)
IS NULL (Transact-SQL)