我有一个表格列,其值如下所示
V5H 3K3
V6L 4L4
V4E 5L2
V5H 3K3
我需要针对每个人获得一个唯一的数字,因此它看起来像
V5H 3K3 1111
V6L 4L4 2222
V4E 5L2 3333
V5H 3K3 1111
SQL Server中是否有一个可用于执行此操作的简单函数?
答案 0 :(得分:6)
Select cast(HashBytes('MD5', 'V5H 3K3') as int)
返回 -381163718
例如
Declare @Table table (SomeField varchar(25))
Insert into @Table values
('V5H 3K3'),
('V6L 4L4'),
('V4E 5L2'),
('V5H 3K3')
Select *,AsAnInt = abs(cast(HashBytes('MD5', SomeField) as int))
From @Table
返回
SomeField AsAnInt
V5H 3K3 381163718
V6L 4L4 245350301
V4E 5L2 1706996605
V5H 3K3 381163718