sp_datatype_info (Transact-SQL)
適用於:SQL Server
Azure Synapse Analytics
傳回目前環境所支援之數據類型的相關信息。
語法
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 為 ,float 為 NULL precision, scale ,而 varchar 為 max_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 | 數據類型數據源相依名稱的當地語系化版本。 例如, DECIMAL 是 DECIMALE 法文。 NULL 如果資料來源不支援本地化的名稱,則會傳回 。 |
MINIMUM_SCALE |
smallint | 數據源上數據類型的最小小數字數。 如果數據類型具有固定小數位數, MINIMUM_SCALE 和 MAXIMUM_SCALE 數據行都會包含這個值。 NULL 會傳回,其中小數位數不適用。 |
MAXIMUM_SCALE |
smallint | 數據源上數據類型的最大縮放比例。 如果未在數據源上個別定義最大小數字數,而是定義為與最大精確度相同,則此數據行包含與數據行相同的值 PRECISION 。 |
SQL_DATA_TYPE |
smallint | SQL 數據類型的值,因為它出現在 TYPE 描述元的欄位中。 此數據行與數據DATA_TYPE 行相同,但 datetime 和 ANSI 間隔數據類型除外。 此欄位一律會傳回值。 |
SQL_DATETIME_SUB |
smallint | 如果 值為 SQL_DATA_TYPE SQL_DATETIME 或 SQL_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
,擷取 sysname 和 nvarchar 數據類型的資訊。
USE master;
GO
EXEC sp_datatype_info -9;
GO