データベーステーブルの1つにMACアドレスを保存したいのですが、どのデータ型を使用すればよいですか?グーグルの記事を読んで、私はBinary(8)が数回言及されているのを見ました。これは正しい方法ですか?
また、MACアドレスは2桁の16進数の6つのグループであるため、これは私には意味がありません。Binary(6)を使用しませんか?
データベーステーブルの1つにMACアドレスを保存したいのですが、どのデータ型を使用すればよいですか?グーグルの記事を読んで、私はBinary(8)が数回言及されているのを見ました。これは正しい方法ですか?
また、MACアドレスは2桁の16進数の6つのグループであるため、これは私には意味がありません。Binary(6)を使用しませんか?
全く使いませんBinary
。
私は使用しますCHAR(12)
。
これは実際にはデータの用途によって異なりますが、これが表示専用の場合は、テキスト表現を使用するだけで済みます。
二項演算の実行を容易にするために、それらをBinary(6)に格納できます。次の組み込み関数を使用して、二項データの16進読み取り可能値を表示できます。
select top 10 master.sys.fn_varbintohexstr(mac) from macaddresses
16進テキストを2進に変換するには:
select CONVERT(binary(6), 'AABBCCDDEEFF', 2);
MACアドレスは、6つの16進数のシーケンスです。そのため、数値として保存すると効率的です。BIGINTを使用します。