我有一个表列,其值如下

V5H 3K3
V6L 4L4
V4E 5L2
V5H 3K3

我需要针对他们每个人获得一个唯一的号码,以便看起来像
V5H 3K3    1111
V6L 4L4    2222
V4E 5L2    3333
V5H 3K3    1111

SQL Server中是否有一个简单的函数可用于执行此操作?

最佳答案

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

08-07 12:23