データ型 (データベース エンジン)
データを格納するオブジェクトには、そのオブジェクトに格納できるデータの種類 (文字、整数、バイナリなど) を定義するデータ型が関連付けられています。次のオブジェクトにはデータ型が関連付けられています。
テーブルやビュー内の列。
ストアド プロシージャのパラメータ。
変数。
特定のデータ型のデータ値を 1 つ以上返す Transact-SQL 関数。
リターン コードを返すストアド プロシージャ。リターン コードは必ず integer 型になります。
オブジェクトにデータ型を割り当てると、次の 4 つのオブジェクト属性が定義されます。
オブジェクトに含まれるデータの種類。
格納値の長さまたはサイズ。
数値の有効桁数 (数値データ型のみ)。
数値の小数点以下桁数 (数値データ型のみ)。
データ型の有効桁数、小数点以下桁数、および長さの詳細については、「有効桁数、小数点以下桁数、および長さ (Transact-SQL)」を参照してください。
Transact-SQL には次のシステム データ型があります。
Microsoft SQL Server に格納されるデータはすべて、これらの基本データ型のいずれかとの互換性が必要です。cursor データ型は、テーブル列に割り当てることができない唯一のシステム データ型です。このデータ型は、変数およびストアド プロシージャ パラメータにだけ使用できます。
一部の基本データ型にはシノニムがあります。たとえば、rowversion は timestamp のシノニムであり、national character varying は nvarchar のシノニムです。シノニムの動作の詳細については、「データ型のシノニム (Transact-SQL)」を参照してください。
次の 2 種類のユーザー定義データ型を作成することもできます。
基本データ型から作成される別名データ型。このようなユーザー定義データ型を使うと、オブジェクト内に格納する値の種類を説明できるような名前をデータ型に与えることができます。これにより、プログラマやデータベース管理者が、このデータ型で定義されたオブジェクトの用途を理解しやすくなります。次に例を示します。
-- Create a birthday datetype that allows nulls. CREATE TYPE birthday FROM datetime NULL GO -- Create a table using the new data type. CREATE TABLE employee (emp_id char(5), emp_first_name char(30), emp_last_name char(40), emp_birthday birthday)
詳細については、「別名データ型を使用した作業」を参照してください。
マネージ コードで作成されたデータ型に基づいて作成され、SQL Server アセンブリにアップロードされる CLR ユーザー定義データ型。詳細については、「CLR ユーザー定義型の使用」を参照してください。
関連項目