sql server 查询列名,列数据类型,列长度 sql语句怎么写

sql server 查询列名,列数据类型,列长度 sql语句怎么写,第1张

SQL 2005及以上版本,执行如下,可获取字段及相关属性值

SELECT aname 字段名 ,

COLUMNPROPERTY(aid, aname, 'IsIdentity') 标识 ,

( CASE WHEN ( SELECT COUNT()

FROM sysobjects

WHERE ( name IN (

SELECT name

FROM sysindexes

WHERE ( id = aid )

AND ( indid IN (

SELECT indid

FROM sysindexkeys

WHERE ( id = aid )

AND ( colid IN (

SELECT

colid

FROM

syscolumns

WHERE

( id = aid )

AND ( name = aname ) ) ) ) ) ) )

AND ( xtype = 'PK' )

) > 0 THEN '1'

ELSE '0'

END ) 主键 ,

bname 类型 ,

COLUMNPROPERTY(aid, aname, 'PRECISION') AS 长度 ,

ISNULL(COLUMNPROPERTY(aid, aname, 'Scale'), 0) AS 小数位数 ,

( CASE WHEN aisnullable = 1 THEN '1'

ELSE '0'

END ) 允许空 ,

ISNULL(g[value], '') AS 字段说明

FROM syscolumns a

LEFT JOIN systypes b ON axtype = bxusertype

INNER JOIN sysobjects d ON aid = did

AND dxtype = 'U'

AND dname <> 'dtproperties'

LEFT JOIN syscomments e ON acdefault = eid

LEFT JOIN sysextended_properties g ON aid = gmajor_id

AND acolid = gminor_id

WHERE dname = 'AA_AppFile'

ORDER BY aid ,

acolorder

注:sql2000版本中,需要使用sysproperties来代替sysextended_properties。

select COLUMN_NAME from information_schemacolumns where table_name='b'

select count() from information_schemaCOLUMNS WHERE TABLE_SCHEMA='a' and table_name=‘b’

a是库名,b是表明

需要写存储过程拼sql。

create proc P

@YearMonth varchar(6) --年月

as

begin

Declare @SDate DateTime-本月第一天

Declare @EDate DateTime--本月最后一天

Declare @SumDate int --总天数

Declare @i int

Set @SDate=CAST(@YearMonth+'01' AS Datetime)

--在本月第一天的基础上加1个月 然后减一天 就是本月最后一天

Set @EDate=DateAdd(M,1,@SDate)-1

--计算出差一天数

Set @SumDate=DATEDIFF(D,@SDate,@EDate)

set @i = 0

while @i<@SumDate

begin

--凑sql 我就不写详细了 列名就是 @SDate+i

end

end

以上就是关于sql server 查询列名,列数据类型,列长度 sql语句怎么写全部的内容,包括:sql server 查询列名,列数据类型,列长度 sql语句怎么写、mysql 如何用sql语句查询表的所有列名、sql 获取某一月份内所有日期 作为列名等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9335797.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存