SQL中一种类似GUID值的函数实现
2016-06-30 11:37
363 查看
开发中会需要用到多列值组合成一个ID值的情况。比如做数据清洗的时候,一张表A有五列,分别是医院、科室、医生、职称、电话。面有许多重复的数据需要和另一个表B(和A列相同)做对比。清洗需要做两件事:1、需要一个值来作为主键,方便后期的数据处理。2、需要对数据源进行去重操作。这里限制的条件是,需要一个主键但这个主键并且这个主键不能唯一标识一行数据(如果使用GUID的话就不能和另一张表做对比了),要标识同一类的数据(A和B的医院、科室、医生、职称、电话的列值都相同)才能进行去重,这时就需要用到多列值组合成一个ID值了。
当时想到了sql server 中有一个ASCII函数,用于获取字符的ASCII码,每个字符的ASCII都是不一样的所以可以作为这个字符的唯一标识,于是乎根据这个思路实现了生成类似GUID值的函数
代码如下:
上面的算法很简单,但是很好用。
调用GenUnique函数
查询的结果
总结
编程思想最重要,要灵活些,不要拘于一格
当时想到了sql server 中有一个ASCII函数,用于获取字符的ASCII码,每个字符的ASCII都是不一样的所以可以作为这个字符的唯一标识,于是乎根据这个思路实现了生成类似GUID值的函数
代码如下:
上面的算法很简单,但是很好用。
调用GenUnique函数
查询的结果
总结
编程思想最重要,要灵活些,不要拘于一格
相关文章推荐
- IOS开发-UIView之动画效果的实现方法(合集)
- LeetCode Count Numbers with Unique Digits(计数问题)
- 动态计算UITableViewCell高度详解
- iOS UITableView(一)-纯代码创建UITableView,Cell点击事件,Cell左滑删除
- minigui 多级窗口例子
- java中continue到指定的for循环中
- 【iOS】CoreBluetooth5 作为 Central 时的数据读写(OTA 固件升级与文件传输)
- UITabBarController、TabBar背景颜色设置、TabBarItem颜色处理
- #147 – Use SetCurrentValue When You Want to Set A Dependency Property Value from Within a Control
- java中String、StringBuffer、StringBuilder的总结
- Establishing a Build Environment
- fuel8: fuel master配置
- 去掉UITableView的section的粘性,使其不会悬停
- 【WPF】Combobox指定选中值用selectedValue不是很灵的时候,
- Poj 2524 Ubiquitous Religions
- salesforce 零基础学习(三十六)通过Process Builder以及Apex代码实现锁定记录( Lock Record)
- All host(s) tried for query failed (tried: / ip :9042
- iOS UIImage 处理(随时更新)
- vue 组件样式如何不影响全局
- 各种设备的CSS3MediaQuery整理及爽歪歪写法