日期:2014-04-07  浏览次数:20405 次

问:如何在不区分大小写的 SQL Server 7.0 实例上编写能够对用户输入密码进行大小写比较的程序?

答: 如果已经将系统升级为 SQL Server 2000,则可以在列级别指定数据排序规则。(SQL Server 2000 Books Online 词汇表将排序规则定义为“一组确定如何比较、排列和呈现数据的规则。字符数据是使用排序规则存储的,这些规则包括区域设置、排序标准和区分大小写”。)

但是,只有升级到 SQL Server 2000,您才可以使用上述技术。假设存储在表中的密码值为 BamBi2000(注意“B”是大写,其他所有字符都是小写):

DECLARE @user_password varchar(12)

IF CAST (@user_password AS varbinary(12)) =
CAST ('BamBi2000' AS varbinary(12))
PRINT 'Password match'
ELSE
PRINT 'Password mismatch'

-SQL Server MVPs