MariaDB - Nilai Null

Saat bekerja dengan nilai NULL, ingatlah bahwa itu adalah nilai yang tidak diketahui. Mereka bukan string kosong atau nol, yang merupakan nilai yang valid. Dalam pembuatan tabel, spesifikasi kolom memungkinkan pengaturan mereka untuk menerima nilai null, atau menolaknya. Cukup gunakan klausa NULL atau NOT NULL. Ini memiliki aplikasi dalam kasus informasi catatan hilang seperti nomor ID.

Variabel yang ditentukan pengguna memiliki nilai NULL hingga penugasan eksplisit. Parameter rutin yang disimpan dan variabel lokal memungkinkan pengaturan nilai NULL. Ketika variabel lokal tidak memiliki nilai default, itu memiliki nilai NULL.

NULL tidak membedakan huruf besar / kecil, dan memiliki alias berikut -

  • TIDAK DIKETAHUI (nilai boolean)
  • \N

Operator NULL

Operator perbandingan standar tidak dapat digunakan dengan NULL (misalnya, =,>,> =, <=, <, atau! =) Karena semua perbandingan dengan nilai NULL mengembalikan NULL, bukan true atau false. Perbandingan dengan NULL atau kemungkinan mengandungnya harus menggunakan operator “<=>” (NULL-SAFE).

Operator lain yang tersedia adalah -

  • IS NULL - Ini menguji nilai NULL.

  • IS NOT NULL - Ini menegaskan tidak adanya nilai NULL.

  • ISNULL - Ini mengembalikan nilai 1 saat menemukan nilai NULL, dan 0 jika tidak ada.

  • COALESCE - Ini mengembalikan nilai non-NULL pertama dari daftar, atau mengembalikan nilai NULL jika tidak ada satu.

Menyortir Nilai NULL

Dalam operasi pengurutan, nilai NULL memiliki nilai terendah, sehingga urutan DESC menghasilkan nilai NULL di bagian bawah. MariaDB memungkinkan pengaturan nilai yang lebih tinggi untuk nilai NULL.

Ada dua cara untuk melakukan ini seperti yang ditunjukkan di bawah ini -

SELECT column1 FROM product_tbl ORDER BY ISNULL(column1), column1;

Cara lain -

SELECT column1 FROM product_tbl ORDER BY IF(column1 IS NULL, 0, 1), column1 DESC;

Fungsi NULL

Fungsi umumnya mengeluarkan NULL ketika parameter apa pun adalah NULL. Namun, ada fungsi yang dirancang khusus untuk mengelola nilai NULL. Mereka adalah -

  • IFNULL()- Jika ekspresi pertama bukan NULL, ia mengembalikannya. Saat mengevaluasi ke NULL, ia mengembalikan ekspresi kedua.

  • NULLIF() - Ia mengembalikan NULL ketika ekspresi yang dibandingkan sama, jika tidak, ia mengembalikan ekspresi pertama.

Fungsi seperti SUM dan AVG mengabaikan nilai NULL.

Memasukkan Nilai NULL

Saat memasukkan nilai NULL di kolom yang dinyatakan NOT NULL, terjadi kesalahan. Dalam mode SQL default, kolom NOT NULL akan memasukkan nilai default berdasarkan tipe data.

Ketika sebuah bidang adalah TIMESTAMP, AUTO_INCREMENT, atau kolom virtual, MariaDB mengelola nilai NULL secara berbeda. Penyisipan di kolom AUTO_INCREMENT menyebabkan nomor berikutnya dalam urutan disisipkan di tempatnya. Di bidang TIMESTAMP, MariaDB menetapkan stempel waktu saat ini sebagai gantinya. Di kolom virtual, topik yang dibahas nanti dalam tutorial ini, nilai default ditetapkan.

Indeks UNIQUE dapat menampung banyak nilai NULL, namun kunci primer tidak boleh NULL.

Nilai NULL dan Perintah Alter

Saat Anda menggunakan perintah ALTER untuk mengubah kolom, jika spesifikasi NULL tidak ada, MariaDB secara otomatis memberikan nilai.