USE EdwinDW;
select
object_name(Aobject_id) as 表名,Aname as 列名
from syscolumns A
inner join systables B on(object_name(Aobject_id)=Bname)
where Btype='U' and Aname like '%△%'
order by 1
这是SQL2005,如果是别的数据库也是一个原理,找到表中的列定义系统基表或视图,取出用户定义表的列信息。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
declare @str nvarchar(10)
declare @tablename varchar(50)
declare @colname varchar(50)
declare @counts int
declare @sql nvarchar(2000)--以上定义变量
declare cur1 cursor for
select aname tablename,Bname colname from sysobjects a,syscolumns b where aobject_id=bid and atype_desc='USER_TABLE'--定义游标
set @str='海' --设置要查找的字符
Open cur1 --打开游标
Fetch next From cur1 Into @tablename,@colname
While(@@Fetch_Status = 0) --循环
Begin
set @sql=N'select @counts=COUNT() from ' + @tablename + ' where charindex('''+@str+''','+@colname+')>0'
exec sp_executesql @sql,N'@counts int output',@counts output --执行动态sql
if @counts>0 --判断某个表某个字段是否存在特定字符
begin
print @tablename+','+@colname --打印表名及字段名
end
Fetch next From cur1 Into @tablename,@colname
End
Close cur1 --关闭游标
Deallocate cur1 --释放游标
以上就是关于查询数据库中所有字段是否包含某个符号全部的内容,包括:查询数据库中所有字段是否包含某个符号、数据库中如何查找想要的字但是有特殊符号便不能查询、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)