返回有关列或过程参数的信息。
COLUMNPROPERTY ( id , column , property )
id
一个表达式,其中包含表或过程标识符 (ID)。
column
一个表达式,其中包含列或参数名称。
property
一个表达式,其中包含要为 id 返回的信息。该表达式可以取下列这些值中的任意一个。
值 | 描述 | 返回的值 |
---|---|---|
AllowsNull | 允许空值。 | 1 = TRUE 0 = FALSE NULL = 无效的输入 |
IsComputed | 该列为计算列。 | 1 = TRUE 0 = FALSE NULL = 无效的输入 |
IsCursorType | 过程参数属于CURSOR 类型。 | 1 = TRUE 0 = FALSE NULL = 无效的输入 |
IsDeterministic | 该列具有确定性。该属性只适用于计算列和视图列。 | 1 = TRUE 0 = FALSE NULL = 无效的输入不是计算列或视图列。 |
IsFulltextIndexed | 该列已经注册为全文索引。 | 1 = TRUE 0 = FALSE NULL = 无效的输入 |
IsIdentity | 该列使用IDENTITY 属性。 | 1 = TRUE 0 = FALSE NULL = 无效的输入 |
IsIdNotForRepl | 该列检查IDENTITY_INSERT 设置。如果指定了IDENTITY NOT FOR REPLICATION,则不检查IDENTITY_INSERT 设置。 | 1 = TRUE 0 = FALSE NULL = 无效的输入 |
IsIndexable | 该列可进行索引。 | 1 = TRUE 0 = FALSE NULL = 无效的输入 |
IsOutParam | 该过程参数为输出参数。 | 1 = TRUE 0 = FALSE NULL = 无效的输入 |
IsPrecise | 该列是精确的。该属性只适用于具有确定性的列。 | 1 = TRUE 0 = FALSE NULL = 无效的输入不是具有确定性的列。 |
IsRowGuidCol | 该列具有 uniqueidentifier 数据类型并且使用ROWGUIDCOL 属性进行定义。 | 1 = TRUE 0 = FALSE NULL = 无效的输入 |
Precision | 列或参数的数据类型的精度。 | 指定的列数据类型的精度 NULL = 无效的输入 |
Scale | 列或参数的数据类型的小数位数。 | 小数位数 NULL = 无效的输入 |
UsesAnsiTrim | 当开始创建表时,ANSI 填充设置为 ON。 | 1 = TRUE 0 = FALSE NULL = 无效的输入 |
int
当检查列的确定性属性时,首先测试该列是否为计算列。IsDeterministic 对于非计算列返回 NULL。
可以将计算列指定为索引列。
下面的示例返回 au_lname 列的长度。
SELECT COLUMNPROPERTY( OBJECT_ID('authors'),'au_lname','PRECISION')
相关文章