我想写一个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