sybase中所有表中的所有varchar列

时间:2013-03-14 13:10:55

标签: sybase-ase

有谁知道如何获取varchar所有表中所有列的列表? 我需要以下格式:

<column_name> <table_name>

我试过这个:

select o.name [TableName], c.name [ColumnName]  from sysobjects o 
inner join syscolumns c on c.id = o.id inner join systypes t 
on t.usertype = c.usertype where o.type = 'U' and o.name in ("MYTABLE")

但上面给出了所有列的列表。 如果我能找到一种方法,那么我可以把所有的表名放在最后的括号内。

1 个答案:

答案 0 :(得分:0)

您可以使用systypes.name ='varchar'或systypes.type = 39或syscolumn.type = 39来缩小查询范围以缩小varchar列。

select o.name, c.name from sysobjects o, syscolumns c
where o.id = c.id
and c.type = 39
and o.type = "U"