Tình huống:
Bạn đang làm việc với tư cách là nhà phát triển SQL Server, bạn cần truy vấn bảng dbo.Customer và thay thế các giá trị Null trong cột Name thành "Unknown Name". Bạn sẽ sử dụng hàm SQL nào để thay thế giá trị Null bằng "Tên không xác định"?
Giải pháp:
Bạn có thể sử dụng các hàm ISNULL hoặc COALESCE để thay thế Null bằng giá trị mà chúng tôi thích. Hãy tạo bảng dbo.Customer và chèn các bản ghi mẫu bằng cách sử dụng các câu lệnh dưới đây. --Create dbo.Customer table Create table dbo.Customer( Id int, Name VARCHAR(10), Address VARCHAR(100)) --Insert records in dbo.Customer table Insert into dbo.Customer Values(1,'Aamir','XyZ Address') ,(2,'Raza',Null) ,(3,null,'abc address')Hãy sử dụng các hàm ISNULL hoặc COALESCE để thay thế Null bằng "Unknown Name".
Select Id,ISNULL(Name,'Unknown Name') AS NameByISNull, COALESCE(Name,'Unknown Name') NamebyCoalesce, Address From dbo.Customer
Cách thay thế Null bằng Giá trị trong SQL Server - Hướng dẫn TSQL > |
Nếu bạn gặp các trường hợp như thế này, tốt hơn bạn nên sử dụng COALESCE. Kiểu dữ liệu của biểu thức COALESCE là kiểu dữ liệu của đối số đầu vào có mức độ ưu tiên kiểu dữ liệu cao nhất. Trong trường hợp của chúng tôi, "Tên không xác định" là 12 ký tự và nó đã chọn sử dụng ký tự đó thay cho kiểu dữ liệu cột Tên là varchar (10).