データ型のシノニム (Transact-SQL)
ISO との互換性を保つために、SQL Server にはデータ型のシノニムが用意されています。次の表に、シノニム、およびシノニムがマップされる SQL Server のシステム データ型を一覧表示します。
シノニム |
SQL Server システム データ型 |
---|---|
Binary varying |
varbinary |
char varying |
varchar |
character |
char |
character |
char(1) |
character(n) |
char(n) |
character varying(n) |
varchar(n) |
Dec |
decimal |
Double precision |
float |
float[(n)] n = 1-7 |
real |
float[(n)] n = 8-15 |
float |
integer |
int |
national character(n) |
nchar(n) |
national char(n) |
nchar(n) |
national character varying(n) |
nvarchar(n) |
national char varying(n) |
nvarchar(n) |
national text |
ntext |
timestamp |
rowversion |
データ型のシノニムは、CREATE TABLE、CREATE PROCEDURE、または DECLARE @variable などのデータ定義言語 (DDL) ステートメントで、対応する基本データ型の名前の代わりに使用できます。ただし、オブジェクトの作成後は、シノニムを確認できなくなります。オブジェクトが作成されると、オブジェクトにはシノニムに関連付けられている基本データ型が割り当てられます。オブジェクトを作成したステートメントでシノニムが指定された記録はありません。
結果セット列や式など、元のオブジェクトから派生したオブジェクトにはすべて基本データ型が割り当てられます。それ以降のすべてのメタデータ関数は元のオブジェクトで実行され、派生オブジェクトはシノニムではなく基本データ型を報告します。この動作は、sp_help およびその他のシステム ストアド プロシージャ、情報スキーマ ビュー、またはテーブルや結果セット列のデータ型を報告するさまざまなデータ アクセス API メタデータ操作などのメタデータ操作と共に発生します。
たとえば、national character varying を指定して、テーブルを作成できます。
CREATE TABLE ExampleTable (PriKey int PRIMARY KEY, VarCharCol national character varying(10))
実際には、VarCharCol に nvarchar(10) データ型が割り当てられ、それ以降のすべてのメタデータ関数では nvarchar(10) 列として報告されます。national character varying(10) 列としては報告されません。