TYPEPROPERTY (Transact-SQL)
返回有关数据类型的信息。
语法
TYPEPROPERTY (type , property)
参数
type
数据类型的名称。property
要为数据类型返回的信息类型。property 可以是下列值之一:属性
说明
返回的值
AllowsNull
数据类型允许空值。
1 = True
0 = False
NULL = 找不到数据类型。
OwnerId
类型的所有者。
注意架构所有者不一定是类型所有者。Nonnull = 类型所有者的数据库用户 ID。
NULL = 不支持的类型,或类型 ID 无效。
Precision
数据类型的精度。
数字位数或字符个数。
-1 = xml 或较大值数据类型
NULL = 找不到数据类型。
Scale
数据类型的小数位数。
数据类型的小数位的个数。
NULL = 数据类型不是 numeric 或找不到。
UsesAnsiTrim
创建数据类型时 ANSI 填充设置为 ON。
1 = True
0 = False
NULL = 数据类型找不到,或不是二进制数据类型或字符串数据类型。
返回类型
int
异常
出现错误时或调用方没有查看对象的权限时,将返回 NULL。
在 SQL Server 中,用户只能查看其拥有的安全对象的元数据,或者已对其授予权限的安全对象的元数据。也就是说,如果用户对该对象没有任何权限,则某些会产生元数据的内置函数(如 TYPEPROPERTY)可能返回 NULL。有关详细信息,请参阅元数据可见性配置和元数据可见性故障排除。
示例
A. 标识数据类型的所有者
以下示例返回数据类型的所有者。
SELECT TYPEPROPERTY(SCHEMA_NAME(schema_id) + '.' + name, 'OwnerId') AS owner_id, name, system_type_id, user_type_id, schema_id
FROM sys.types;
B. 返回 tinyint 数据类型的精度
以下示例返回 tinyint 数据类型的精度或位数。
SELECT TYPEPROPERTY( 'tinyint', 'PRECISION');