我想将MAC地址存储在我的一个数据库表中,我应该使用哪种数据类型?在google上阅读文章,我看过Binary(8)提到了几次。这是正确的方法吗?
另外,这对我来说没有意义,因为MAC地址是六组两个十六进制数字,你不会使用二进制(6)吗?
答案 0 :(得分:6)
我根本不会使用Binary
。
我会使用CHAR(12)
。
虽然这实际上取决于您使用数据的内容 - 如果这仅用于显示,您可以简单地使用文本表示。
答案 1 :(得分:4)
为了更容易执行二进制操作,您可以将它们存储到二进制(6) 您可以使用以下内置函数来查看二进制数据的十六进制可读值:
select top 10 master.sys.fn_varbintohexstr(mac) from macaddresses
并将十六进制文本转换为二进制文件:
select CONVERT(binary(6), 'AABBCCDDEEFF', 2);
答案 2 :(得分:1)
MAC地址是6个十六进制数的序列。这就是为什么将它存储为数字是有效的原因。使用BIGINT。