用于转换的sql查询(varbinary,[login])

时间:2014-06-27 15:56:00

标签: sql-server

我有我的SQL查询来检查用户的权限

select column 1 ,column 2 ,column 3  ,column 4 from usertable where convert(varbinary, [login]) = convert(varbinary, 'demo_RBC') 

虽然该表具有demo_RBC的条目,但此查询不会返回任何reocrd。相同的查询适用于任何其他字符串,如demo_BDCA或demo_avm。

有没有什么特别的原因可以解释为什么demo_RBC字符串在where子句的比较中不起作用。是否有更好的wat来检查登录标准。

1 个答案:

答案 0 :(得分:0)

您可以使用整理来完成此操作,即COLLATE SQL_Latin1_General_CP1_CS_AS

以下是一个示例:

declare @var nvarchar(max)
set @var = 'Hello'

SELECT 1
WHERE 'HELLO' COLLATE SQL_Latin1_General_CP1_CS_AS = @var

set @var = 'HELLO'

SELECT 1
WHERE 'HELLO' COLLATE SQL_Latin1_General_CP1_CS_AS = @var
相关问题