Posts Tagged ‘NULL’

 

Tản mạn về NULL

1. NULL là một giá trị đặc biệt có mặt trong tất cả các loại dữ liệu, từ kiểu số, ngày, chuỗi, đến bit… Nó đại diện cho giá trị “không biết”, hoặc “không tồn tại”. NULL không trùng với số 0 của kiểu số và cũng không trùng với chuỗi trống (”) của kiểu chuỗi. Ví dụ bạn có bảng dữ liệu sinh viên có chứa cột số lần thi lại; nếu một bản ghi chứa NULL ở cột này có nghĩa là ta không biết số lần thi lại của sinh viên đó là bao nhiêu; điều này khác với khi nó chứa 0 nghĩa là ta đã biết sinh viên đó chưa phải thi lại môn nào.
Vì NULL nghĩa là “không biết” nên mọi thao tác với NULL đều dẫn đến NULL. Đây là điều bạn cần ghi nhớ để tránh phiền phức khi liên quan đến xử lý NULL. … đọc tiếp »

Posted on 26/8/2013 by Vũ Huy Tâm | Categories: SQL Server Programming

Lưu Ý Khi Viết Câu Lệnh Dùng “NOT IN”

Khi bạn viết câu lệnh dùng “NOT IN”, bạn có thể sẽ gặp những tình huống không mong đợi, nếu dữ liệu có chứa giá trị NULL. Ví dụ:

CREATE TABLE dbo.DienThoai(ID INT PRIMARY KEY, NhaSX NVARCHAR(50), Model VARCHAR(50), TenCSH NVARCHAR(80) )
GO
INSERT INTO dbo.DienThoai
SELECT 1, 'Apple', 'Iphone 4', N'Hồ Ngọc Hà' UNION ALL
SELECT 2, 'Vertu', 'Signature', N'Quang Dũng' UNION ALL
SELECT 3, 'Samsung','S9402 Ego', N'Mỹ Tâm' UNION ALL
SELECT 4, 'HTC',NULL, N'Mỹ Tâm' -- không có model

Bạn có một CSDL theo dõi các loại điện thoại di động sở hữu bởi các celebrity (biết đâu ý tưởng này lại kiếm ra tiền, hehe). Giả sử bạn lưu trữ nhà sản xuất (NhaSX), model, và tên của chủ sở hữu (TenCSH); model có thể không được biết (như bản ghi #4 ở trên). Trước khi có thể kiếm được tiền, bạn cần giải quyết mấy tình huống sau: … đọc tiếp »

Posted on 14/7/2010 by Vũ Huy Tâm | Categories: SQL Server Programming