sp_datatype_info (Transact-SQL)
適用于: SQL Server Azure Synapse Analytics
傳回目前環境所支援之資料類型的相關資訊。
語法
sp_datatype_info [ [ @data_type = ] data_type ]
[ , [ @ODBCVer = ] odbc_version ]
引數
[ @data_type = ] data_type
這是指定之資料類型的代碼號。 若要取得所有資料類型的清單,請省略此參數。 data_type為 int ,預設值為 0。
[ @ODBCVer = ] odbc_version
這是所使用的 ODBC 版本。 odbc_version為 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 為 「precision, scale」, float 為 Null,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 interval 資料類型除外 。 此欄位一律會傳回值。 |
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相當於 ODBC 中的 SQLGetTypeInfo。 傳回的結果會依DATA_TYPE排序,然後依據資料類型對應至對應的 ODBC SQL 資料類型的方式排序。
權限
需要 public 角色中的成員資格。
範例
下列範例會藉由指定 的 data_type 值 -9
, 擷取 sysname 和 Nvarchar 資料類型的資訊。
USE master;
GO
EXEC sp_datatype_info -9;
GO
另請參閱
Database Engine 預存程式 (Transact-SQL)
資料類型 (Transact-SQL)
系統預存程序 (Transact-SQL)
意見反映
https://aka.ms/ContentUserFeedback。
即將推出:我們會在 2024 年淘汰 GitHub 問題,並以全新的意見反應系統取代並作為內容意見反應的渠道。 如需更多資訊,請參閱:提交及檢視以下的意見反映: