SQL比较两个字符串

时间:2018-02-04 15:57:49

标签: sql sql-server sql-server-2016-express

我想请求帮助。我正在使用这段代码来比较字符串变量。它总是返回true并执行内部代码。
示例:variable1 =' Andrew' ..首先选择应该返回' A',第二个选择' a' ..整个if应该返回False,而是返回true。

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

1 个答案:

答案 0 :(得分:1)

您的排序规则配置似乎是大小写敏感,因此请尝试将排序规则应用为CS(区分大小写)。

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