【发布时间】:2013-03-07 09:07:43
【问题描述】:
我正在使用 SQL Server 2012 并有一个字段定义为的表:
NVARCHAR(32)
但需要存放在里面
NVARCHAR(1024)
值,我无法更改列长。
我有一个将填充此字段的程序。同时,如果有这个值的字段,它就会“做某事”,如果有这个值的字段,它就会“什么都不做”。
为了解决长度问题我决定使用HashBytes函数如下:
DECLARE @HashThis nvarchar(1024);
SELECT @HashThis = CONVERT(nvarchar(1024),'dslfdkjLK85kldhnv$n000#knf');
SELECT HASHBYTES('SHA1', @HashThis);
GO
我已经读过,根据您的数据库排序规则,您可能会为相同的值返回不同的哈希值。那么,有没有办法为函数指定一个排序规则,以便不依赖于数据库排序规则。
另外,我的想法有问题吗?
【问题讨论】:
标签: tsql function hash sql-server-2012 collation