Tôi đọc: How do I check if a Sql server string is null or empty nhưng nó không giúp tôi trong tình huống này.Làm thế nào để kiểm tra xem một tham số rỗng hoặc null trong thủ tục lưu trữ Sql Server trong câu lệnh IF?
Các đoạn mã từ thủ tục lưu trữ của tôi:
IF (@item1 IS NOT NULL) OR (LEN(@item1) > 0)
SELECT @sql = 'SELECT * FROM TEST1'
ELSE
SELECT @sql = 'SELECT * FROM TEST2'
PRINT @sql;
@item1
là NVARCHAR(1000)
loại.
Khi thực hiện thủ tục lưu trữ này, tôi cung cấp giá trị cho item1
EXEC [dbo].[my_proc]
@item1 = N''
nó cho thấy
SELECT * FROM TEST1
// nó là đúng nếu @item1 = N'some'
thay vì
SELECT * FROM TEST2
Đó là một nơi nào đó một hàm trong sql để xác minh xem một chuỗi là null hoặc rỗng HOẶC Tôi đã phạm sai lầm ở đâu đó?
Giống như trong C# ->string.IsNullOrEmpty(myValue)
Vâng, sai lầm của tôi là tại 'OR' thay vì 'AND'. –