sp_datatype_info (Transact-SQL)

適用于: SQL Server Azure Synapse Analytics

傳回目前環境所支援之資料類型的相關資訊。

Transact-SQL 語法慣例

語法

  
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)