SQL2000 不指定表名,不指定表里的元素名,如何做符合条件的查找?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL2000 不指定表名,不指定表里的元素名,如何做符合条件的查找?相关的知识,希望对你有一定的参考价值。
SQL2000 不指定表名,不指定表里的元素名,如何做符合条件的查找?
比如 符合 字符是ABC 的查找
?
二楼那个为什么再查询分析器那里不能用啊?
服务器: 消息 170,级别 15,状态 1,行 1
第 1 行: 'max' 附近有语法错误。
服务器: 消息 137,级别 15,状态 1,行 5
必须声明变量 '@search'。
服务器: 消息 137,级别 15,状态 1,行 6
必须声明变量 '@sql'。
服务器: 消息 137,级别 15,状态 1,行 6
必须声明变量 '@sql'。
服务器: 消息 137,级别 15,状态 1,行 7
必须声明变量 '@sql'。
服务器: 消息 137,级别 15,状态 1,行 8
必须声明变量 '@sql'。
declare @sql nvarchar(max),@search nvarchar(100)
set @search='abc'
--set @sql='declear @sql nvarchar(4000)'
--select @sql='select @sql=''select '''
set @sql=''
select @sql=@sql+'select top 1 '''+sysobjects.name+''' as [table],'''+syscolumns.name+''' as [columns],'+syscolumns.name+' as [value] from '+sysobjects.name+' where '+syscolumns.name+'='''+@search+''' union all ' from sysobjects inner join syscolumns on sysobjects.id=syscolumns.id where sysobjects.xtype='U' and syscolumns.xtype in (35,99,167,175,231,239)
select @sql=@sql+'select null,null,null'
exec sp_executesql @sql
--速度相当慢,要有觉悟
才注意到你用的是sql2000,那么要把第一句改成
declare @sql nvarchar(4000),@search nvarchar(100)
在sql server 2005 sp2以后才可以写max
但是只有4000个字符的话,如果你的表和字段很多
可能@sql不够用 参考技术B 你是要在整个数据库中查找某字符串吧
数据库是要求有一定关系与结构的,不能这么玩的本回答被提问者采纳
mysql 中如何用update替换指定字符后面的内容
select title from aaa
id title
1 aa?abc
2 bbb?xxx
3 axx?abcelll
如何用一个update以后结果是这个样子?
select title from aaa
id title
1 aa
2 bbb
3 axx
其实是update语句。
SQL = "UpDate 表名 Set 字段名 = Replace(字段名,'要替换的字符串','')"
这样,这个字段中的内容就把你要去除的字符串去除掉了。klmww您好!今后一起共勉!有空到软件测试基地,365testing看看EYD。 参考技术A select substr(title,1,instr(title,'?',1,1)-1) from dual aaa;
update aaa set title=substr(title,1,instr(title,'?',1,1)-1); 参考技术B update aaa set title=substring(title,0,locate('%',title)-1) 参考技术C 这个还真不知道,mysql中 replace函数只能替换指定固定的字符串,我一般都借助excel处理这样的问题
以上是关于SQL2000 不指定表名,不指定表里的元素名,如何做符合条件的查找?的主要内容,如果未能解决你的问题,请参考以下文章
我知道字段内容,并不知道字段名,如何在数据库中快速找到或查询出所在的表?SQL SERVER 2000。