我想寫一個WHERE
子句,用於某個字符串變量不爲空或空的位置。我遇到的問題是某些非空字符串等於N''
文字。例如:用於檢查空字符串的SQL語句 - T-SQL
declare @str nvarchar(max) = N'㴆';
select case when @str = N'' then 1 else 0 end;
息率1。從我可以收集Wikipedia,這個特殊的Unicode字符是淹沒的東西,這不是語義上等於一個空字符串象形文字。此外,字符串長度爲1,至少在T-SQL中。
是否有更好的(準確的)方法來檢查空字符串的T-SQL變量?
「無值」條目應爲「NULL」。然後真的很容易檢查:'@str不爲空...' –
該應用程序的問題是使用'NULL'來表示「不要修改此字段」和「N''表示」將此值更新爲NULL 」。該設計是故意的,以便不需要修改的字段可以從數據修改消息中省略。 –
您的意思是:檢查nvarchar的值是否爲ANSI STD? – McNets