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 返回值在 base 10 中。 |
LITERAL_PREFIX |
varchar(32) | 常量前使用的一个或多个字符。 例如,字符类型的单引号 (' )和二进制数的 0x。 |
LITERAL_SUFFIX |
varchar(32) | 用于终止常量的一个或多个字符。 例如,字符类型的单引号 (' )和二进制没有引号。 |
CREATE_PARAMS |
varchar(32) | 此数据类型的创建参数的说明。 例如, 小数 是 precision, scale , 浮点 数 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 = 不是 货币 数据类型。 |
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 | 在描述符的字段中显示 TYPE SQL 数据类型的值。 此列与 DATA_TYPE 列相同,但 日期/时间 和 ANSI 间隔 数据类型除外。 此字段始终返回值。 |
SQL_DATETIME_SUB |
smallint | datetime 或 ANSI 间隔子代码(如果值为SQL_DATA_TYPE SQL_DATETIME 或 SQL_INTERVAL 。 对于日期/时间和 ANSI 间隔以外的数据类型,此字段为 NULL 。 |
NUM_PREC_RADIX |
int | 计算某列最大容纳数时所采用的位数或数字个数。 如果数据类型是近似数字数据类型,则此列包含的值为 2,以指示几个位。 对于确切的数字类型,此列包含指示多个十进制数字的值 10 。 否则,此列为 NULL . 通过将精度和基数相结合,应用程序可以计算出列所能容纳的最大数。 |
INTERVAL_PRECISION |
smallint | 如果 @data_type 为 间隔,则间隔前导精度的值;否则 NULL 为 。 |
USERTYPE |
smallint | 表中的 systypes usertype 值。 |
注解
sp_datatype_info
等效于 SQLGetTypeInfo
ODBC。 返回的结果按数据类型映射到相应的 ODBC SQL 数据类型的接近程度排序 DATA_TYPE
。
权限
要求 公共 角色具有成员身份。
示例
以下示例通过指定 @data_type 值来检索 sysname 和 nvarchar 数据类型的信息。-9
USE master;
GO
EXEC sp_datatype_info -9;
GO