我正在构建处理大量数据的Web应用程序的后端,前端开发人员正在寻找稳定的整数代码以用于连接数据。
他们尝试使用的当前整数值是代理键,代理键将不断更改,从而导致许多问题。每个表都有一个字母数字代码,我正在寻找一种可以将其转换为稳定的int的方法。
EG将代码“ AAAA”转换为1111或MMMM转换为13131313
谁能告诉我这是否有可能。
谢谢,
McNets的评论似乎是一个很好的方法。
如果可以确定,您有
纯ASCII字符
不超过4个字母
您可以将字符串转换为VARBINARY(4)
并将其转换为INT
:
DECLARE @dummy TABLE(StrangeCode VARCHAR(10)); INSERT INTO @dummy VALUES ('AAAA'),('MMMM'),('ACAC'),('CDEF'),('ABCD'); SELECT CAST(CAST(StrangeCode AS VARBINARY(4)) AS INT) FROM @dummy;
结果
1094795585 1296911693 1094926659 1128547654 1094861636
如果您需要更大的电话号码,则可以选择 BIGINT