分享方式:


sp_datatype_info (Transact-SQL)

適用於:SQL Server Azure Synapse Analytics

傳回目前環境所支援之數據類型的相關信息。

Transact-SQL 語法慣例

語法

sp_datatype_info
    [ [ @data_type = ] data_type ]
    [ , [ @ODBCVer = ] ODBCVer ]
[ ; ]

引數

[ @data_type = ] data_type

指定數據類型的代碼號。 @data_type為 int,預設值為 0。 若要取得所有資料類型的清單,請省略此參數。

[ @ODBCVer = ] ODBCVer

所使用的 ODBC 版本。 @ODBCVer為 tinyint,預設值為 2

傳回碼值

無。

結果集

資料行名稱 資料類型 描述
TYPE_NAME sysname DBMS 相依數據類型。
DATA_TYPE smallint 對應此類型所有數據行之 ODBC 類型的程式代碼。
PRECISION int 數據源上數據類型的最大有效位數。 NULL 會針對不適用有效位數的數據類型傳回 。 數據行的 PRECISION 傳回值位於基底 10 中。
LITERAL_PREFIX varchar(32) 常數之前使用的字元或字元。 例如,字元類型的單引號 (') 和二進位的 0x。
LITERAL_SUFFIX varchar(32) 用來終止常數的字元或字元。 例如,字元類型的單引號 (') 和二進位沒有引號。
CREATE_PARAMS varchar(32) 這個數據類型的建立參數描述。 例如,decimal 為 ,floatNULLprecision, scale,而 varcharmax_length
NULLABLE smallint 指定可為 Null。

1 = 允許 Null 值。
0 = 不允許 Null 值。
CASE_SENSITIVE smallint 指定區分大小寫。

1 = 此類型的所有資料行都會區分大小寫(適用於定序)。
0 = 此類型的所有資料行不區分大小寫。
SEARCHABLE smallint 指定資料行型態的搜尋功能:

1 = 無法搜尋。
2 = 使用 LIKE 進行搜尋。
3 = 使用 WHERE搜尋。
4 = 可搜尋 或 WHERE LIKE
UNSIGNED_ATTRIBUTE smallint 指定數據類型的符號。

1 = 資料類型未帶正負號。
0 = 資料類型帶正負號。
MONEY smallint 指定 money 資料類型。

1 = money 數據類型。
0 = 不是 money 資料類型。
AUTO_INCREMENT smallint 指定自動遞增。

1 = 自動增補。
0 = 不是自動遞增。
NULL = 屬性不適用。
應用程式可以將值插入這個屬性的數據行中,但應用程式無法更新數據行中的值。 除了位數據類型以外,AUTO_INCREMENT僅適用於屬於精確數值和近似數值數據類型類別的數據類型。
LOCAL_TYPE_NAME sysname 數據類型數據源相依名稱的當地語系化版本。 例如, DECIMALDECIMALE 法文。 NULL 如果資料來源不支援本地化的名稱,則會傳回 。
MINIMUM_SCALE smallint 數據源上數據類型的最小小數字數。 如果數據類型具有固定小數位數, MINIMUM_SCALEMAXIMUM_SCALE 數據行都會包含這個值。 NULL 會傳回,其中小數位數不適用。
MAXIMUM_SCALE smallint 數據源上數據類型的最大縮放比例。 如果未在數據源上個別定義最大小數字數,而是定義為與最大精確度相同,則此數據行包含與數據行相同的值 PRECISION
SQL_DATA_TYPE smallint SQL 數據類型的值,因為它出現在 TYPE 描述元的欄位中。 此數據行與數據DATA_TYPE行相同,但 datetime 和 ANSI 間隔數據類型除外。 此欄位一律會傳回值。
SQL_DATETIME_SUB smallint 如果 值為 SQL_DATA_TYPE SQL_DATETIMESQL_INTERVAL,則 datetime 或 ANSI 間隔子程式代碼。 對於 datetime 和 ANSI 間隔以外的資料類型,此欄位為 NULL
NUM_PREC_RADIX int 計算數據行可以保存的最大數位或位數。 如果數據類型是近似數值數據類型,這個數據行會包含值 2,表示數位。 對於確切的數值類型,此數據行包含值 10 ,表示數個十進位數。 否則,這個資料列是 NULL。 藉由結合精確度與基數,應用程式可以計算數據行可以保存的最大數目。
INTERVAL_PRECISION smallint 如果@data_type為 interval,則為間隔前置精確度的值,否則NULL
USERTYPE smallint 數據表中的 systypes usertype值。

備註

sp_datatype_info 相當於 SQLGetTypeInfo ODBC 中的 。 傳回的結果會依 對應至對應 ODBC SQL 數據類型的方式排序 DATA_TYPE ,然後依據數據類型的對應方式排序。

權限

需要 public 角色中的成員資格。

範例

下列範例會藉由指定 的 @data_type 值-9擷取 sysnamenvarchar 數據類型的資訊。

USE master;
GO
EXEC sp_datatype_info -9;
GO