- [VB.NET] Hướng dẫn giải captcha sử dụng dịch vụ AZCaptcha API trên winform
- [C#] Hướng dẫn chứng thực đăng nhập ứng dụng bằng vân tay (Finger Print) trên máy tính
- [C#] Color Thief cách xuất màu sắc thiết kế từ hình ảnh
- [C#] Cách tạo bản quyền và cho phép dùng thử ứng dụng Winform
- [C#] Hướng dẫn sử dụng trình duyệt web Chrome convert HTML sang tập tin file PDF
- [C#] Kết nôi điện thoại Android, IOS với App Winform via Bluetooth
- [DATABASE] Cách query cộng trừ dồn dần trong Sqlserver
- [C#] Thiết kế ứng dụng Console đẹp với thư viện Spectre.Console
- [C#] Thiết kế ứng dụng Single Instance và đưa ứng dụng lên trước nếu kiểm tra ứng dụng đang chạy
- [C#] Giới thiệu JSON Web Token và cách đọc chuỗi token
- [C#] Cách tăng giảm font chữ tất cả các control trên winform
- [DEVEXPRESS] Tích hợp chức năng Tìm kiếm Search vào CheckedComboboxEdit
- [C#] Gởi email Metting Calendar Reminder kèm nhắc thời gian lịch họp
- [C#] Tìm kiếm xem danh sách từ khóa có tồn tại trong đoạn văn bản hay không
- [C#] Thiết kế giao diện ứng dụng trên Console sử dụng thư viện Terminal.Gui
- [C#] Hướng dẫn tạo mã VietQR Payment API Winform
- [C#] Sử dụng thư viện BenchmarkDotNet đo hiệu năng của hảm Method
- [DEVEXPRESS] Tìm kiếm không dấu tô màu highlight có dấu trên C# Winform
- [C#] Chia sẻ source code tạo hiệu ứng pixel Image trên winform
- [C#] Hướng dẫn kiểm tra số Container hợp lệ hay không
[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!