问:如何在不区分大小写的 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
 
|