我需要在存储过程中的If-Else块中比较两个字符串,例如
If(@USERNAME='rajat')
begin
select * from table
end
else
begin
select * from table1
end
但是上述方法的问题是'='比较不区分大小写。我需要比较不区分大小写的方法
最佳答案
SQL Server在服务器,数据库和列级别具有区分大小写的功能。这是collation属性的一部分。因此,在您的示例中,这些设置中的一项或多项可能已设置为不区分大小写。
-- Check server collation
SELECT SERVERPROPERTY('COLLATION')
-- Check database collation.
SELECT DATABASEPROPERTYEX('AdventureWorks', 'Collation') SQLCollation;
-- Check column collation
select table_name, column_name, collation_name
from information_schema.columns
where table_name = @table_name
像这样的SQL可能对您有用:
If (@USERNAME='rajat' COLLATE Latin1_General_CS_AS)
.....
关于sql-server - 区分大小写的字符串比较,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20266485/