- [C#] Thông báo page Facebook Trang Lập Trình VB.NET, C# bị Hack
- [C#] Chia sẻ source code phần mềm đếm số trang tập tin file PDF
- [C#] Cách Sử Dụng DeviceId trong C# Để Tạo Khóa Cho Ứng Dụng
- [SQLSERVER] Loại bỏ Restricted User trên database MSSQL
- [C#] Hướng dẫn tạo mã QRcode Style trên winform
- [C#] Hướng dẫn sử dụng temp mail service api trên winform
- [C#] Hướng dẫn tạo mã thanh toán VietQR Pay không sử dụng API trên winform
- [C#] Hướng Dẫn Tạo Windows Service Đơn Giản Bằng Topshelf
- [C#] Chia sẻ source code đọc dữ liệu từ Google Sheet trên winform
- [C#] Chia sẻ source code tạo mã QR MOMO đa năng Winform
- [C#] Chia sẻ source code phần mềm lên lịch tự động chạy ứng dụng Scheduler Task Winform
- [Phần mềm] Tải và cài đặt phần mềm Sublime Text 4180 full version
- [C#] Hướng dẫn download file từ Minio Server Winform
- [C#] Hướng dẫn đăng nhập zalo login sử dụng API v4 trên winform
- [SOFTWARE] Phần mềm gởi tin nhắn Zalo Marketing Pro giá rẻ mềm nhất thị trường
- [C#] Việt hóa Text Button trên MessageBox Dialog Winform
- [DEVEXPRESS] Chia sẻ code các tạo report in nhiều hóa đơn trên XtraReport C#
- [POWER AUTOMATE] Hướng dẫn gởi tin nhắn zalo từ file Excel - No code
- [C#] Chia sẻ code lock và unlock user trong domain Window
- [DEVEXPRESS] Vẽ Biểu Đồ Stock Chứng Khoán - Công Cụ Thiết Yếu Cho Nhà Đầu Tư trên Winform
[DATABASE] Xử lý kết quả truy vấn trả về NULL trong sqlsever sử dụng CONCAT_NULL_YIELDS_NULL
Xin chào các bạn, trong bài viết hôm nay mình sẽ chia sẽ các bạn về hàm CONCAT_NULL_YIELDS_NULL trong sqlserver.
Thường khi các bạn truy vấn dữ liệu từ database sqlserver, và có nhiều dữ liệu sẽ trả về null.
Như bài trước mình đã có nói về NULL, NULL là một kiểu dữ liệu đặc biệt, khi các bạn thao thác tính toán với null thì dữ liệu cũng trả về null.
VD: 15 + 30 + NULL => NULL (Trong câu này kết quả mình mong muốn là nó phải trả về là 45).
Thường các bạn có thể xử lý bằng cách sử dụng những từ khóa trong Sqlserver như: CASE... WHEN
, hoặc hàm ISNULL()
hay COALESCE()
.
Tuy nhiên nếu các bạn sử dụng những biểu thức như vậy, sẽ làm cho source code của mình trông dài ra và khó quản lý.
Trong bài viết này sẽ sử dụng từ khóa CONCAT_NULL_YIELDS_NULL để sử dụng, mặc định thì sqlserver nó đã được kích hoạt ON.
Nếu các bạn muốn nó trả về dữ liệu là 45, các bạn chỉ cần set về OFF trước câu truy vấn, và sau khi truy vấn xong chúng ta sẽ trả về lại ON là xong.
Cú pháp sử dụng:
— Syntax for SQL Server
SET CONCAT_NULL_YIELDS_NULL { ON | OFF }
Ví dụ 1:
SET CONCAT_NULL_YIELDS_NULL ON
Khi được set giá trị ON, thì kết quả nối chuỗi sẽ là như sau:
SELECT 'abc' + NULL => kết quả trả về là NULL
Ví dụ 2:
SET CONCAT_NULL_YIELDS_NULL OFF
Khi được set giá trị OFF, thì kết quả nối chuỗi se là như sau:
SELECT 'abc' + NULL => kết quả trả về là abc
Bên dưới là một ví dụ dùng cả ON và OFF:
PRINT 'Setting CONCAT_NULL_YIELDS_NULL ON';
GO
-- SET CONCAT_NULL_YIELDS_NULL ON and testing.
SET CONCAT_NULL_YIELDS_NULL ON;
GO SELECT 'abc' + NULL ;
GO
-- SET CONCAT_NULL_YIELDS_NULL OFF and testing.
SET CONCAT_NULL_YIELDS_NULL OFF;
GO
SELECT 'abc' + NULL;
GO
Thanks for watching!