sql 如何查询包含某一字段的值

某一列 A 数值类型为:varchar
如一个值为 20110213
我要查出 包含2011的所有值
如何查询
那么 不包含呢 ????

这种情况需要写存储过程,进行全库搜索。代码如下:

declare @cloumns varchar(40)
declare @tablename varchar(40)
declare @str varchar(40)
declare @counts int
declare @sql nvarchar(2000)
declare MyCursor Cursor For 
Select a.name as Columns, b.name as TableName from syscolumns a,sysobjects b,systypes c 
where a.id = b.id
and b.type = 'U' 
and a.xtype=c.xtype
and c.name like '%varchar%'
set @str='张三'
Open MyCursor
Fetch next From MyCursor Into @cloumns,@tablename
While(@@Fetch_Status = 0)
Begin
 set @sql='select  @tmp_counts=count(*) from ' +@tablename+ ' where ' +@cloumns+' = ''' +@str+ ''''
execute sp_executesql  @sql,N'@tmp_counts int out',@counts out
 if @counts>0
 begin
 print '表名为:'+@tablename+',字段名为'+@cloumns
 end
Fetch next From MyCursor Into @cloumns,@tablename
End
Close MyCursor
Deallocate MyCursor

注意:其中“张三”为要查找的字符串,可以替换成其他的,如果查询的字符串超长,需要在定义变量时适当扩大长度。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-04-23
-- 语句表示 内容字段里面包含了葡萄酒

select 内容 from 表名 where 内容 like'%葡萄酒%'
第2个回答  2020-07-08

您应该问的就是sql查询语句和模糊查询把,可以参考学习一下:

from 树懒学堂

from 树懒学堂

代码:SELECT * FROM table WHERE LISTA LIKE '2011%';

第3个回答  2011-02-13
不同的数据库,SQL语句略有区别:
1.如果是Access数据库,SQL语句应为:
SELECT * FROM TableName WHERE A LIKE '*2011*'
2.如果是Oracle数据库,SQL语句应为:
SELECT * FROM TableName WHERE A LIKE '%2011%'
3.如果是SQL SERVER数据库,SQL语句应为:
SELECT * FROM TableName WHERE A LIKE '%2011%'
第4个回答  2011-02-13
如果查询的是2011开始的就是:
select * from tableName where a like '2011%'
如果在中间的就是
select * from tableName where a like '%2011%'

不包含就是 not like
相似回答