1

我想寻求帮助。我正在使用这段代码来比较字符串变量。它总是返回 true 并执行里面的代码。
示例:variable1='Andrew' .. 第一个 select 应该返回 'A',第二个 select 'a' .. 整个 if 应该返回 False,而是返回 true。

IF (SELECT SUBSTRING(@variable1,1,1)) = (SELECT LOWER(SUBSTRING(@variable1,1,1)))
    BEGIN
    ...
    END
4

1 回答 1

1

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
于 2018-02-04T16:17:13.787 回答