Microsoft SQL Serverは、7つの異なるカテゴリのデータをサポートしています。 これらのうち、 バイナリ文字列は、バイナリオブジェクトとして表現された符号化データを可能にする。
バイナリ文字列カテゴリのデータ型は次のとおりです。
- ビット変数は0,1またはNULLの値を持つ単一ビットを格納します 。
- バイナリ(n)変数は、 nバイトの固定長バイナリデータを格納します。 これらのフィールドには最大8,000バイトを格納できます。
- varbinary(n)変数は、およそnバイトの可変長バイナリデータを格納します。 最大8,000バイトを格納できます。
- varbinary(max)変数は、およそnバイトの可変長バイナリデータを格納します。 彼らは最大2 GBを格納し、実際にデータの長さと追加の2バイトを格納します。
- イメージ変数は最大2GBのデータを格納し、一般的に(画像だけでなく)あらゆる種類のデータファイルを格納するために使用されます。
イメージタイプは、SQL Serverの将来のリリースで廃止予定です。 マイクロソフトのエンジニアは、将来の開発のためにイメージタイプの代わりにvarbinary(max)を使用することを推奨しています 。
適切な用途
ビット列は、ゼロまたは1で表されるようなデータを格納する必要がある場合に使用します 。 列のサイズが比較的均一な場合は、 バイナリ列を使用します。 列のサイズが8Kを超えると予想される場合、またはレコードごとのサイズに大きなばらつきがある場合は、 varbinary列を使用します 。
コンバージョン
T-SQL - Microsoft SQL Serverで使用されるSQLの変形です。文字列型からバイナリ型またはvarbinary型に変換するときは、データを正しくパッドします。 バイナリタイプへの他の型変換は、左パッドを生成する。 このパディングは、16進ゼロを使用して行われます。
この変換と切り捨ての危険性のために、変換後のフィールドが十分に大きくない場合、変換されたフィールドがエラーメッセージをスローせずに算術エラーになる可能性があります。