摘录帮助:COLUMNPROPERTY
返回有关列或过程参数的信息。语法
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')
SELECT COLUMNPROPERTY( OBJECT_ID('authors'),'au_lname','AllowsNull')SELECT COLUMNPROPERTY( OBJECT_ID('authors'),'au_lname','IsIdentity')
返回有关列或过程参数的信息。语法
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')
SELECT COLUMNPROPERTY( OBJECT_ID('authors'),'au_lname','AllowsNull')SELECT COLUMNPROPERTY( OBJECT_ID('authors'),'au_lname','IsIdentity')
解决方案 »
- 关于数据导入导出问题的求教.先谢各位老师
- 数据库备份策略问题
- SQL疑难两个 求解决
- 求助怎样将Access数据导入到SQL Server 2000已有的数据表中
- 请帮忙看下有关备份的问题,送50分!
- 求助:如何设置主键为自增长字段,是否就是在设计表的界面中把列名写成identity就可以了
- 数据库函数在网页(JSP)中怎么用
- 续雷。。。之前问错了
- 如何用代码和sql语句实现SQL SERVER 2000 数据回退 请高手举例赐教
- 问:sql server 能实现这样的操作否。
- SQL SERVER 2000 不能用IP地址当服务器名建立连接了吗?
- 急急..!*.MDF文件除了用SQL SERVER的Import功能加入后查看外,還有沒有其他辦法打開呀?
谢谢!
另外--在Access中也可用么?
--判断是否为标识列
SELECT COLUMNPROPERTY( OBJECT_ID('YourTable'),'YourColumn','IsIdentity')
--判断是否为空
SELECT COLUMNPROPERTY( OBJECT_ID('YourTable'),'YourColumn','AllowsNull')
在Asp中,大致如下,没测试.
...Connect...
Dim RecSet
Dim IsIdentity
Dim AllowsNull
Set RecSet=Connection.Execute("SELECT COLUMNPROPERTY( OBJECT_ID ('YourTable'),'YourColumn','IsIdentity') As IsIdentity")
IsIdentity=RecSet("IsIdentity")
IF IsIdentity=1 Then
'是标识列
Else
'bushiRecSet=Connection.Execute("SELECT COLUMNPROPERTY( OBJECT_ID('YourTable'),'YourColumn','IsIdentity') As AllowsNull")
AllowsNull=RecSet("AllowsNull")
.......