输入:
TABLE NAME: SEARCH_RECORD
Column A Column B Column C Column D
ID CODE WORD CODE/WORD
--------------------------------------------
123 666Ani RAT 666Ani/RAT
124 777Cae CAT 777Cae/CAT
我需要一个查询来检查LIKE情况
如果我在列B中搜索类似于'%6A'或列C'%A%'它会给出结果
假设我希望根据D列搜索
获得类似内容**User will search like '%6A%'/'%AT%' (always / will be given by user)**
666Ani/RAT
所以,我需要查询上面的内容以获取ID作为输出(最好是CASE查询)
需要你宝贵的建议
答案 0 :(得分:1)
它不能像简单的那样完成。
如果模式看起来像'%6A%/%AT%'
,它应该有效。这是一种有效的模式。
所以,如果来自不同的变量,你可以写:columnD like '%6A%/%AT%'
或columnD like first_pattern||'/'||second_pattern
。
另一种方法,如果您确定只有/
(可以查看它们的数量),可能会使用like
来使用两个substr
来获取第一个,然后是搜索字符串的第二部分。
where
columnB like substr(match_string, 1, instr(match_string,'/'))
and
columnC like substr(match_string, instr(match_string,'/')+1)