Sql 语句问题:怎样查询一个表内的所有字段中是否包含“XXX”值?

就是查询一个表里是否把包含“XXX”值得信息返回,Where怎么写?

比如:
SELECT ID,Name,Telephone,Identity FROM UserTable Where ? = 'XXX'

问号部分写什么可以所有的列只要字段内包含‘XXX’的就能查询到?

12个回答

Where 字段1= 'XXX' or 字段2 = 'XXX'。。。。。。

在mysql中可以使用concat函数,将多个字段先拼接起来,然后再进行like的模糊匹配。
select * from Table1 where concat('name','info') like '%xxx%'

http://blog.csdn.net/wanghang88/article/details/52200821

where concat(字段1,字段2) like '%XXX%'

使用concat函数,先将所有字段用concat函数拼接成一个虚拟字段,然后用模糊查询查找
where concat(字段1,字段2,字段n) like %XXX%;

where 列名 like '%XXX%'

用concat不行吧,这样有一个包含就都得到所有列,题主可以考虑select column_name from user_tab_columns where table_name='USERTABLES' AND column_name LIKE 'XXX%' 得出有那些列包含这个字段,然后再查询这个字段。

SELECT ID,Name,Telephone,Identity FROM UserTable Where concat(字段1,字段2) like '%X%X%X%'
SELECT ID,Name,Telephone,Identity FROM UserTable Where concat(字段1,字段2) like '%XXX%'

select * from UserTable where name like '%xxx%'

你最好确定有哪些字段需要包含输入的条件,不然全字段查询,数据量大,应该很酸爽。

where 字段名 like '%XXX%'

共12条数据 1 尾页
立即提问
相关内容推荐