sql 怎么查询字段的数据类型
返回的是建表时输入的样子即:aaanvchar(50)bbbintcccdatedddbiteeechar(50)...
返回的是建表时输入的样子
即:
aaa nvchar(50)
bbb int
ccc date
ddd bit
eee char(50) 展开
即:
aaa nvchar(50)
bbb int
ccc date
ddd bit
eee char(50) 展开
1个回答
2014-12-05
展开全部
select b.name as tablename,a.name as columnname,c.name as typename,a.max_length as typelength
from sys.columns a inner join sys.tables b on b.object_id=a.object_id
inner join sys.types c on c.system_type_id=a.system_type_id
where b.name='表名'
order by b.name,a.column_id
追问
我想你误会我的意思了,建表的时候int、bit等类型是不需要长度的,
我希望查询出来的int、bit等类型也不带长度,
至于char,nvchar等需要定义长度的就要连长度也查询出来,
而且最好显示在一个字段里
输出格式就像提问中写的那样,字段名一格,类型(长度)一格,
我知道这很麻烦,但没办法,设计需要,
想通过基于B/S结构的系统对数据库进行编辑,表、字段、记录的增删改查
追答
select a.name as columnname, typename=(case when c.name in('char','nvarhcar','varchar')
then c.name+'('+rtrim(convert(char,a.max_length))+')' else c.name end)
from sys.columns a inner join sys.tables b on b.object_id=a.object_id
inner join sys.types c on c.system_type_id=a.system_type_id
where b.name='表'
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询