SQL中一种类似GUID值的函数实现

    开发中会需要用到多列值组合成一个ID值的情况。比如做数据清洗的时候,一张表A有五列,分别是医院、科室、医生、职称、电话。面有许多重复的数据需要和另一个表B(和A列相同)做对比。清洗需要做两件事:1、需要一个值来作为主键,方便后期的数据处理。2、需要对数据源进行去重操作。这里限制的条件是,需要一个主键但这个主键并且这个主键不能唯一标识一行数据(如果使用GUID的话就不能和另一张表做对比了),要标识同一类的数据(A和B的医院、科室、医生、职称、电话的列值都相同)才能进行去重,这时就需要用到多列值组合成一个ID值了。

    当时想到了sql server 中有一个ASCII函数,用于获取字符的ASCII码,每个字符的ASCII都是不一样的所以可以作为这个字符的唯一标识,于是乎根据这个思路实现了生成类似GUID值的函数

    代码如下:
SQL中一种类似GUID值的函数实现
上面的算法很简单,但是很好用。
调用GenUnique函数
SQL中一种类似GUID值的函数实现
查询的结果
SQL中一种类似GUID值的函数实现

总结
编程思想最重要,要灵活些,不要拘于一格

上一篇:292. Nim Game


下一篇:二、IRIG_B解码AC信号