- [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
- [SOFTWARE] Giới thiệu bộ phần mềm tính Kết Cấu Thép HatteSale, Mộng Đơn, Dầm, Sàn, Móng Cọc, Vách, Xà Gồ, Tính Tải Trọng
- [DEVEXPRESS] Vẽ Biểu Đồ Stock Chứng Khoán - Công Cụ Thiết Yếu Cho Nhà Đầu Tư trên Winform
- [C#] Hướng dẫn bảo mật ứng dụng 2FA (Multi-factor Authentication) trên Winform
- [C#] Hướng dẫn convert HTML code sang PDF File trên NetCore 7 Winform
- [C#] Hướng dẫn viết ứng dụng chat với Gemini AI Google Winform
- Hướng dẫn khóa file bằng nhiều process id, không cho xóa tập tin
- Hướng dẫn cách tạo Product Id cho ứng dụng phần mềm XXXXX-XXXXX-XXXXX-XXXXX
- [SQLSERVER] Hướng dẫn tạo script sql từ ứng dụng Sqlserver management Studio
- [C#] Hướng dẫn sử dụng thư viện AutoITx lấy id và password Ultraviewer trên winform
- [VB.NET] Hướng dẫn lấy thông tin tài khoản đăng nhập windows và khởi động lại ứng dụng ở chế độ Administrator
- [C#] Sử dụng thư viện Polly gửi lại request api khi request bị lỗi hay rớt mạng
- [DEVEXPRESS] Chia sẻ source code tạo báo cáo report in tem nhãn label trên C# winform
- [DEVEXPRESS] Hướng dẫn vẽ biểu đồ Bar Chart trên Winform
- [C#] Tạo form đăng nhập và đăng ký với hiệu ứng Sliding Animation Effect
- [C#] Hướng dẫn tạo thanh toán đơn hàng qua mã vạch VietQR sử dụng API PayOS hoàn toàn miễn phí
- [C#] Hướng dẫn ghi log ra RichTextBox giống Console trên Winform sử dụng thư viện Serilog
- [C#] Hướng dẫn cách tạo mã QR Code trên file Excel
[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!