SQL中如何根据字段名查找该字段名存在于数据库的哪些表中?

在SQL的一个数据库存,我现在只知道一个字段名叫"QTY_ON_WAY_B",但不知道存在哪个表中,如何写SQL查询语句,从而查到这个字段名"QTY_ON_WAY_B"在... 在SQL的一个数据库存,我现在只知道一个字段名叫"QTY_ON_WAY_B",但不知道存在哪个表中,如何写SQL查询语句,从而查到这个字段名"QTY_ON_WAY_B"在这个数据库存的哪些表中存在呢? 展开
 我来答
yiyishuitian
2018-01-09 · TA获得超过644个赞
知道小有建树答主
回答量:721
采纳率:50%
帮助的人:525万
展开全部
上处的字段名是指的表中的列名 还是指的 列中某一个 值。
如果是指的列名的话,很简单
select sysobjects.name as tablename,syscolumns.name as columnname
from syscolumns join sysobjects on sysobjects.id = syscolumns.id
where syscolumns.name like '%此处为列名%'

如果是指的一个值的话,要遍历数据库了。如下:
declare@str varchar(100)
set@str='张三'--要搜索的字符串
declare@s varchar(8000)
declaretb cursorlocalfor
selects='if exists(select 1 from ['+b.name+'] where convert(varchar,['+a.name+']) like ''%'+@str+'%'')
print ''select ['+a.name+'] from ['+b.name+']'''
fromsyscolumns a joinsysobjects b ona.id=b.id
whereb.xtype='U'anda.status>=0
--所查列的字段类型
anda.xusertype in(175,239,231,167,56,60,108,106)
opentb
fetchnextfromtb into@s
while @@fetch_status=0
begin
exec(@s)
fetchnextfromtb into@s
end
closetb
deallocatetb
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式