用于在SQL Server数据库表中存储MAC地址的数据类型是什么?

时间:2012-12-26 20:19:28

标签: sql sql-server

我想将MAC地址存储在我的一个数据库表中,我应该使用哪种数据类型?在google上阅读文章,我看过Binary(8)提到了几次。这是正确的方法吗?

另外,这对我来说没有意义,因为MAC地址是六组两个十六进制数字,你不会使用二进制(6)吗?

3 个答案:

答案 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。