我想寻求帮助。我正在使用这段代码来比较字符串变量。它总是返回 true 并执行里面的代码。
示例:variable1='Andrew' .. 第一个 select 应该返回 'A',第二个 select 'a' .. 整个 if 应该返回 False,而是返回 true。
IF (SELECT SUBSTRING(@variable1,1,1)) = (SELECT LOWER(SUBSTRING(@variable1,1,1)))
BEGIN
...
END
我想寻求帮助。我正在使用这段代码来比较字符串变量。它总是返回 true 并执行里面的代码。
示例:variable1='Andrew' .. 第一个 select 应该返回 'A',第二个 select 'a' .. 整个 if 应该返回 False,而是返回 true。
IF (SELECT SUBSTRING(@variable1,1,1)) = (SELECT LOWER(SUBSTRING(@variable1,1,1)))
BEGIN
...
END
It seems your collation configuration is in-case sensitive, so try to apply collation as CS
(case sensitive).
declare @variable1 nvarchar = 'A'
IF (SELECT SUBSTRING(@variable1,1,1)) COLLATE Latin1_General_CS_AS = (SELECT LOWER(SUBSTRING(@variable1,1,1)))
BEGIN
print 'ok'
END