データを格納するオブジェクトには、そのオブジェクトに格納できるデータの種類 (文字、整数、バイナリなど) を定義するデータ型が関連付けられています。次のオブジェクトにはデータ型が関連付けられています。
オブジェクトにデータ型を割り当てると、次の 4 つのオブジェクト属性が定義されます。
データ型の有効桁数、小数点以下桁数、および長さの詳細については、「有効桁数、小数点以下桁数、および長さ (Transact-SQL)」を参照してください。
Transact-SQL には次のシステム データ型があります。
bigint
binary
bit
char
CLR
cursor
date
datetime
datetime2
datetimeoffset
decimal
float
hierarchyid
image
int
money
nchar
ntext
numeric
nvarchar
real
rowversion
smalldatetime
smallint
smallmoney
sql_variant
table
text
time
timestamp
int、bigint、smallint、および tinyint (Transact-SQL)
varbinary
varchar
uniqueidentifier
xml (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)