sql:字符串比较

sql:字符串比较,sql,string-comparison,Sql,String Comparison,我有以下sql代码: if ('aaa' = 'aAa') print 'equals' else print 'not equals' 它打印的等于。为什么字符串不相等时会出现这种行为?使用排序规则: IF 'aaa' COLLATE Latin1_General_CS_AS = 'aAa' COLLATE Latin1_General_CS_AS print 'equals' else print 'not equals' 据我所知,SQL中的字符串比较不区分大小写

我有以下
sql
代码:

if ('aaa' = 'aAa') 
    print 'equals'
else
    print 'not equals'
它打印的
等于
。为什么字符串不相等时会出现这种行为?

使用排序规则:

IF 'aaa' COLLATE Latin1_General_CS_AS = 'aAa' COLLATE Latin1_General_CS_AS
 print 'equals'
else
 print 'not equals'

据我所知,SQL中的字符串比较不区分大小写。您需要了解字符串排序规则。显然,您正在使用的数据库的默认值是不区分大小写的。您可能忘记了在这个问题中添加
SQL Server
标记,因为它是
不区分大小写的
,这对于其他数据库可能不正确,例如
PostgreSQL
或与Oracle相关的(SQL Server):“SQL”中没有
IF
(查询语言)。您使用的是哪种数据库管理系统?