資料類型同義字 (Transact-SQL)

適用于:SQL ServerAzure SQL資料庫Azure SQL 受控執行個體Azure Synapse Microsoft Fabric 中的Analytics AnalyticsPlatform System (PDW) 倉儲

SQL Server 包括資料類型同義字的原因,是為了與 ISO 相容。 下表列出同義字及其對應的 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
rowversion timestamp

資料類型同義字可用來取代資料定義語言 (DDL) 陳述式中對應的基底資料類型名稱。 這些陳述式包括 CREATE TABLE、CREATE PROCEDURE 和 DECLARE @variable。 不過,建立好物件之後,就看不見同義字了。 當建立物件時,會將同義字的相關基底資料類型指派給物件。 沒有在建立物件的陳述式中指定同義字的記錄。

從原始物件衍生的物件 (例如結果集資料行或運算式) 都會被指派基底資料類型。 使用原始物件或任何衍生物件的所有中繼資料函數都將報告基底資料類型,而非同義字,包括:

  • 中繼資料作業 (例如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) 資料行。

另請參閱

資料類型 (Transact-SQL)