Null

Kuika ile NULL kullanmayı öğrenin.

NULL

NULL, kelimenin tam anlamıyla SQL'de ve genel olarak programlamada "hiçbir şey" anlamına gelir. SQL'de bunu "herhangi bir değerin yokluğu" olarak düşünmek daha iyidir. Bunun, hiçbiri gerçekte NULL olmayan '' boş dize veya 0 sayısı gibi görünüşte boş değerlerden farklı olduğunu bilmek önemlidir. Metin olarak kabul edilecek ancak NULL olmayan ve hatalara ve hatalı veri kümelerine neden olabilecek 'NULL' gibi tırnak içinde NULL yazmamaya da dikkat etmek önemlidir.

Sorgularda NULL için filtreleme

WHERE bloklarında NULL (hiçbir şeyin olmadığı yerde) için filtreleme sözdizimi, belirli değerler için filtrelemeden farklıdır.

SELECT * FROM Employees WHERE Managerid IS NULL;
SELECT * FROM Employees WHERE Managerid IS NOT NULL;

NULL herhangi bir şeye (kendisi dahil) eşit olmadığından, eşitlik operatörleri = NULL veya <> NULL (veya != NULL) kullanıldığında, NEREDE tarafından reddedilecek olan BİLİNMEYEN bir değere sahip olacağına dikkat edin. WHERE, FALSE veya UKNOWN koşullu tüm satırları filtreler ve yalnızca koşulun DOĞRU olduğu satırları tutar.

Tablolarda Null Yapılabilir Sütunlar

Bir tablo oluştururken, bir sütunu null yapılabilir veya null olamaz olarak bildirmek mümkündür.

CREATE TABLE My Table
(
    MyCol1 INT NOT NULL, --non nullable
    MyCol2 INT NULL      -- nullable
( ;

Bir tablo oluştururken, bir sütunu null yapılabilir veya null olamaz olarak bildirmek mümkündür.

Null yapılamayan bir sütuna NULL atamaya çalışmak bir hataya neden olur.

INSERT INTO MyTable (MyCol1, MyCol2 ) VALUES (1, NULL) ; --works fine
INSERT INTO Mytable (MyCol1, MyCol2) VALUES (NULL, 2) ;
    --cannot insert
    --the value NULL into column 'MyCol1' , table 'MyTable';
    --column does not allow nulls. INSERT fails.

Alanları NULL olarak güncellenmesi

Bir alanı NULL olarak değiştirmek, diğer herhangi bir değerde olduğu gibi çalışır:

UPDATE Employees
SET ManagerId = NULL
WHERE Id = 4

NULL alanları olan satırlar ekleme‍

Örn: Telefon numarası olmayan ve yöneticisi olmayan bir çalışanı Çalışanlar örnek tablosuna eklemek

INSERT INTO Employees
( Id, FName, LName, PhoneNumber, Managerid, Departmaentld, Salary, HireDate)
VALUES
(5, 'Jane', 'Doe', NULL, NULL, 2, 800, '2016-07-22');

Last updated