查找是否在列中的任何位置找到查询结果

时间:2018-04-27 17:08:44

标签: sql select db2

我有一个包含varchar值的列,需要查找是否可以在该列的任何位置找到查询结果。例如,varchar列可能具有以下值:

  • abc100
  • 00100
  • 100
  • 200

并且选择查询可能会产生以下结果:

  • 100
  • 200

我需要返回varchar列中值为' 100'的所有值。或者' 200'任何地方。在这种情况下,应返回varchar列中的所有结果。

这就是我目前所拥有的:

select varcharColumn from table where varcharColumn like (select query)

当我尝试此查询时,我收到以下错误:

  

"标量全选,SELECT INTO语句或VALUES INTO语句的结果不止一行"

如何让这个查询返回varchar列的列表,其中任何部分包含select查询的结果?

2 个答案:

答案 0 :(得分:3)

awk -F':' '/^Name/ {print $2}' personal_details.txt > newfile.txt 只能比较两行。比较多行的许多方法之一是like子查询,如:

exists

答案 1 :(得分:1)

你可以使用这样的东西

select a.* from testtable1 a, testtable2           
where varcharColumn   like '%'||testtable2.subqueryCOl||'%' 

这将匹配所有100,200的记录。如果需要,你可以将子查询查询为testtable2