此问题已在此处有答案:
Oracle SQL - How to build where clause with optional search parameters(5个答案)
Oracle: Full text search with condition(4个答案)
18小时前关闭
需要一个查询来使用一行搜索所有表列。这是我到目前为止的查询:
select * from my_table
where
instr(
Col01 || Col02 || Col03 || Col04 || Col05 || Col06 || Col07 || Col08 || Col09, 'My Searched
Text') > 0
但根据要求,当搜索的值为空时,必须显示整个表。有没有办法做到这一点?
1条答案
按热度按时间kdfy810k1#
你可以这样做:
注意:仅仅因为这是你更新你的坏解决方案的方式,并不意味着这是一个好主意。你应该在每一列上执行一个指令,并在它们之间使用OR。
另一种选择是创建一个“计算”列,它是在表插入或更改时自动生成的,包含上述串联。那么在查询时只需要搜索一列。