TYPEPROPERTY (Transact-SQL)
适用于:SQL Server Azure SQL 数据库 Azure SQL 托管实例 Azure Synapse Analytics Analytics Platform System (PDW)
返回有关数据类型的信息。
语法
TYPEPROPERTY (type , property)
参数
type
数据类型的名称。
property
要为数据类型返回的信息类型。 property 可以是下列值之一。
属性 | 说明 | 返回的值 |
---|---|---|
AllowsNull | 数据类型允许空值。 | 1 = True 0 = False NULL = 找不到数据类型。 |
OwnerId | 类型的所有者。 注意:架构所有者不一定是类型所有者。 |
Nonnull = 类型所有者的数据库用户 ID。 NULL = 不支持的类型,或类型 ID 无效。 |
精度 | 数据类型的精度。 | 数字位数或字符个数。 -1 = xml 或大值数据类型 NULL = 找不到数据类型。 |
缩放 | 数据类型的小数位数。 | 数据类型的小数位的个数。 NULL = 数据类型不是 numeric 或未找到。 |
UsesAnsiTrim | 创建数据类型时 ANSI 填充设置为 ON。 | 1 = True 0 = False NULL = 数据类型找不到,或不是二进制数据类型或字符串数据类型。 |
返回类型
int
例外
出现错误时或调用方没有查看对象的权限时,将返回 NULL。
在 SQL Server 中,用户只能查看其拥有的安全对象的元数据,或者已对其授予权限的安全对象的元数据。 也就是说,如果用户对该对象没有任何权限,则某些会产生元数据的内置函数(如 TYPEPROPERTY)可能返回 NULL。 有关详细信息,请参阅 Metadata Visibility Configuration。
示例
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');
另请参阅
TYPE_ID (Transact-SQL)
TYPE_NAME (Transact-SQL)
COLUMNPROPERTY (Transact-SQL)
元数据函数 (Transact-SQL)
OBJECTPROPERTY (Transact-SQL)
ALTER AUTHORIZATION (Transact-SQL)
sys.types (Transact-SQL)