我有一个包含VARCHAR2列的视图。该列包含一个字符串 这是来自不同表的2列的串联。
例如我搜索"詹姆斯史密斯"。 我使用LIKE搜索列:
LOWER(USER_LIST.SEARCH_STRING) LIKE LOWER 'James Smith'
我得到的结果很好。 我想知道是否可以选择执行反向搜索(仍然使用LIKE)并得到相同的结果,如下所示:
LOWER(USER_LIST.SEARCH_STRING) LIKE LOWER 'Smith James'
请注意,我知道使用正则表达式或在视图中添加其他列可以解决此问题,但我希望尽可能少地进行更改。
提前致谢。
答案 0 :(得分:1)
我希望以下答案说明您的要求。
SELECT A.NM
FROM
(SELECT 'Avrajit Roy' nm FROM dual
)A
WHERE lower(A.NM) LIKE lower('avrajit roy')
OR TRIM(lower(SUBSTR(a.nm,instr(a.nm,' ',1)+1,LENGTH(a.nm))
||' '
||SUBSTR(a.nm,1,instr(a.nm,' ',1)))) LIKE lower('roy avrajit');