-1

有谁知道我们如何获得所有表中所有 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")

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

4

1 回答 1

0

您可以使用 where 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"
于 2013-03-14T13:39:06.473 回答