有没有一种简单的方法可以从两个整数的组合键创建唯一的整数键? [英] Is there a simple way to create a unique integer key from a two-integer composite key?
本文介绍了有没有一种简单的方法可以从两个整数的组合键创建唯一的整数键?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
有没有人有一种聪明的方法从两个整数中生成一个整数,以便生成的整数对于这对起始整数是唯一的?
编辑:在遇到大量令人印象深刻的数学问题后,我意识到我应该包括的一个细节是有问题的键的大小。在原始密钥对中,第一个密钥当前为6位数字,并可能在系统的整个生命周期中保持在7位数字;第二个密钥尚未大于20。考虑到这些限制,问题看起来不那么可怕。
推荐答案
用足够大的值乘1
SELECT id1 * 1000000 + id2
或使用文本串联:
SELECT CAST(CAST(id1 AS nvarchar(10)) + RIGHT('000000' + CAST(id2 AS nvarchar(10)), 6) AS int)
或者跳过整数部分,用非数字分隔ID:
SELECT CAST(id1 AS nvarchar) + ':' + CAST(id2 AS nvarchar)
这篇关于有没有一种简单的方法可以从两个整数的组合键创建唯一的整数键?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文