我使用SQL Server2017。我正在从ID为十六进制格式的外部系统中提取数据,示例如下:
5af1a437e696991080f284c2
5af1a95be696991080f287ca
5af1adafe696991080f28af8
5af1b130e696991080f28dc4
5af1b130e696991080f28dc5
5af1b130e696991080f28dc6
我想有效地存储这些ID并在连接中使用它们。 我现在把它们作为varchar,所以它们对索引或在联接中使用都不会太好。 理想情况下,我想将它们转换为INT。 我该怎么办?这是正确的方法吗? 我是否应该使用其他数据类型,例如varbinary和什么长度的varbinary(8),varbinary(16)? 我知道最好是以我想要的格式创建代理密钥,而在数据模型中以我们想要的格式创建代理密钥,但这是供内部使用的,我想保持简单。