解决视图(SQL查询语句)唯一ID问题

最常用是 ROW_NUMBER() OVER(ORDER BY GETDATE())  但是用在复杂的查询语句效率比较低!

复杂语句我建议用:

ABS(( SELECT   CONVERT(INTHASHBYTES('MD5',
                                                       CAST(tp.pbID AS NVARCHAR(20)) + ','
                                                       + CAST(tp.twiID AS NVARCHAR(20))))
                     ))

虽然不是100%唯一值,不过经过了MD5加密,重复概率低到可以忽略。

 

视图中还可以用(表值函数不能用)

 ABS( CAST(CAST(NEWID() AS VARBINARY(16)) AS INT))

大家有更好的建议吗?

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页