我执行select来获取表的结构。 我想得到关于列的信息,如它的名称或它是否为null或它是否为主键。 我做这样的事情
....sys.columns c...
c.precision,
c.scale,
c.is_nullable as isnullable,
c.default_object_id as columndefault,
c.is_computed as iscomputed,
但是对于默认值我得到的ID就像454545454,但我想得到值“xxxx”。要搜索的表是什么或将该id转换为值的函数是什么。 感谢
答案 0 :(得分:10)
你可以这样做(完成一个SELECT *,这样你就可以看到所有可用的信息):
SELECT *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE....
这包括结果集中的“COLUMN_DEFAULT”列。
答案 1 :(得分:7)
使用
Select * From INFORMATION_SCHEMA.COLUMNS
有一个名为COLUMN_DEFAULT
答案 2 :(得分:1)
您想要的属性称为“cdefault”。
http://sql-server-performance.com/Community/forums/p/20588/114944.aspx
答案 3 :(得分:1)
'账单'是一个示例表
select
COLUMN_DEFAULT --default
,IS_NULLABLE -- is nullable
,NUMERIC_PRECISION --number of digits (binary or decimal depending on radix)
,NUMERIC_PRECISION_RADIX --decimal places
,NUMERIC_SCALE --number of digits to right of decimal point
,COLUMNPROPERTY(OBJECT_ID('bills'),COLUMN_NAME,'Iscomputed') AS ISCOMPUTED --is computed
from INFORMATION_SCHEMA.columns where TABLE_name='bills'
select * from INFORMATION_SCHEMA.TABLE_CONSTRAINTS where TABLE_NAME='bills' and CONSTRAINT_TYPE='PRIMARY KEY'