SQL语句来获取一个表的所有列的信息,如,列名、类型、长度等
2010-12-10 16:13
459 查看
本代码适用于: SQLSERVER2000/2005
SQL语句如下:
select c.name, t.name as type, c.length
,(case t.name
when 'nvarchar' then c.length/2
when 'nchar' then c.length/2
else c.length
end)
as reallength
from syscolumns c join systypes t
on c.xtype=t.xtype
where t.name <> 'sysname' and c.id=object_id('Table1')
-- 加了这句代码,可以使列按设计时的顺序输出
order by colorder ASC
为了方便使用,可将其封装成一个函数代码如下:
--
-- 返回一个表的列信息
-- 用法:select * from tbl_columns('Table1')
-- zyl 2007.11.6
--
create function tbl_columns(@tablename nvarchar(256))
returns @tmptb table(
name nvarchar(256),
type varchar(256),
length int,
reallength int
)
begin
insert into @tmptb
select c.name, t.name as type, c.length
,(case t.name
when 'nvarchar' then c.length/2
when 'nchar' then c.length/2
else c.length
end)
as reallength
from syscolumns c join systypes t
on c.xtype=t.xtype
where t.name <> 'sysname' and c.id=object_id(@tablename)
return
end
这是一个运行结果:
SQL语句如下:
select c.name, t.name as type, c.length
,(case t.name
when 'nvarchar' then c.length/2
when 'nchar' then c.length/2
else c.length
end)
as reallength
from syscolumns c join systypes t
on c.xtype=t.xtype
where t.name <> 'sysname' and c.id=object_id('Table1')
-- 加了这句代码,可以使列按设计时的顺序输出
order by colorder ASC
为了方便使用,可将其封装成一个函数代码如下:
--
-- 返回一个表的列信息
-- 用法:select * from tbl_columns('Table1')
-- zyl 2007.11.6
--
create function tbl_columns(@tablename nvarchar(256))
returns @tmptb table(
name nvarchar(256),
type varchar(256),
length int,
reallength int
)
begin
insert into @tmptb
select c.name, t.name as type, c.length
,(case t.name
when 'nvarchar' then c.length/2
when 'nchar' then c.length/2
else c.length
end)
as reallength
from syscolumns c join systypes t
on c.xtype=t.xtype
where t.name <> 'sysname' and c.id=object_id(@tablename)
return
end
这是一个运行结果:
相关文章推荐
- SQL语句来获取一个表的所有列的信息,如,列名、类型、长度等
- SQL语句来获取一个表的所有列的信息,如,列名、类型、长度等
- SQL语句来获取一个表的所有列的信息,如,列名、类型、长度等(转)
- SQL语句来获取一个表的所有列的信息,如,列名、类型、长度等
- SQL语句来获取一个表的所有列的信息,如,列名、类型、长度等
- SQL语句来获取一个表的所有列的信息
- 【转】SQL语句:获取用户表名、得到表中的所有列信息、得到表中主键所包含的列名
- (转)列出SQL SERVER 所有表,字段名,主键,类型,长度,小数位数等信息的SQL语句
- sql语句取得一个表中的列名,数据类型,及长度等属性
- Sql :获取数据库所有表及其字段名称、类型、长度 (也可以指定单张或若干张表的详细信息。。。)
- sql获取表,字段,长度,类型,描述,等详细信息(转)
- SQL脚本获取指定SQLServer数据库所有表及视图的字段列表及类型、长度
- 列出SQL SERVER 所有表、字段定义,类型,长度,一个值等信息,并导出到Excel 中
- Mysql中使用sql语句修改表中某一个字段的长度或者修改字段的类型
- 【转】MSSQL获取指定表的列名信息,描述,数据类型,长度
- SQL Server 2008获取一个表的字段,类型,长度,是否主键,是否为空,注释等信息
- Oracle查询一个用户的所有表的结构信息的SQL语句
- SQL Server查询一个表的所有列名的SQL语句
- SQL Server 2008中获取数据库所有表及其字段名称、类型、长度的SQL
- sql语句获取数据表的所有列名