本代码适用于: SQLSERVER2000/2005
SQL语句如下:

SQL语句来获取一个表的所有列的信息,如,列名、类型、长度等(转)select c.name, t.name as type, c.length
SQL语句来获取一个表的所有列的信息,如,列名、类型、长度等(转)  ,(
case t.name
SQL语句来获取一个表的所有列的信息,如,列名、类型、长度等(转)    
when 'nvarchar' then c.length/2
SQL语句来获取一个表的所有列的信息,如,列名、类型、长度等(转)    
when 'nchar' then c.length/2
SQL语句来获取一个表的所有列的信息,如,列名、类型、长度等(转)    
else c.length
SQL语句来获取一个表的所有列的信息,如,列名、类型、长度等(转)  
end)
SQL语句来获取一个表的所有列的信息,如,列名、类型、长度等(转)  
as reallength
SQL语句来获取一个表的所有列的信息,如,列名、类型、长度等(转)
from syscolumns c join systypes t
SQL语句来获取一个表的所有列的信息,如,列名、类型、长度等(转)
on c.xtype=t.xtype
SQL语句来获取一个表的所有列的信息,如,列名、类型、长度等(转)
where t.name <> 'sysname' and c.id=object_id('Table1')

-- 加了这句代码,可以使列按设计时的顺序输出

order by colorder ASC


为了方便使用,可将其封装成一个函数代码如下:

SQL语句来获取一个表的所有列的信息,如,列名、类型、长度等(转)--
SQL语句来获取一个表的所有列的信息,如,列名、类型、长度等(转)--
 返回一个表的列信息
SQL语句来获取一个表的所有列的信息,如,列名、类型、长度等(转)--
 用法:select * from tbl_columns('Table1')
SQL语句来获取一个表的所有列的信息,如,列名、类型、长度等(转)--
 zyl 2007.11.6
SQL语句来获取一个表的所有列的信息,如,列名、类型、长度等(转)--
SQL语句来获取一个表的所有列的信息,如,列名、类型、长度等(转)
create function tbl_columns(@tablename nvarchar(256))
SQL语句来获取一个表的所有列的信息,如,列名、类型、长度等(转)
returns @tmptb table(
SQL语句来获取一个表的所有列的信息,如,列名、类型、长度等(转)  name 
nvarchar(256),
SQL语句来获取一个表的所有列的信息,如,列名、类型、长度等(转)  type 
varchar(256),
SQL语句来获取一个表的所有列的信息,如,列名、类型、长度等(转)  length 
int,
SQL语句来获取一个表的所有列的信息,如,列名、类型、长度等(转)  reallength 
int
SQL语句来获取一个表的所有列的信息,如,列名、类型、长度等(转))
SQL语句来获取一个表的所有列的信息,如,列名、类型、长度等(转)
begin
SQL语句来获取一个表的所有列的信息,如,列名、类型、长度等(转)
insert into @tmptb
SQL语句来获取一个表的所有列的信息,如,列名、类型、长度等(转)
select c.name, t.name as type, c.length
SQL语句来获取一个表的所有列的信息,如,列名、类型、长度等(转)  ,(
case t.name
SQL语句来获取一个表的所有列的信息,如,列名、类型、长度等(转)    
when 'nvarchar' then c.length/2
SQL语句来获取一个表的所有列的信息,如,列名、类型、长度等(转)    
when 'nchar' then c.length/2
SQL语句来获取一个表的所有列的信息,如,列名、类型、长度等(转)    
else c.length
SQL语句来获取一个表的所有列的信息,如,列名、类型、长度等(转)  
end)
SQL语句来获取一个表的所有列的信息,如,列名、类型、长度等(转)  
as reallength
SQL语句来获取一个表的所有列的信息,如,列名、类型、长度等(转)
from syscolumns c join systypes t
SQL语句来获取一个表的所有列的信息,如,列名、类型、长度等(转)
on c.xtype=t.xtype
SQL语句来获取一个表的所有列的信息,如,列名、类型、长度等(转)
where t.name <> 'sysname' and c.id=object_id(@tablename)
SQL语句来获取一个表的所有列的信息,如,列名、类型、长度等(转)
return 
SQL语句来获取一个表的所有列的信息,如,列名、类型、长度等(转)
end

相关文章: