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