向后使用 LIKE 的 PLSQL 搜索字符串

PLSQL search string using LIKE backwards

我有一个包含 VARCHAR2 列的视图。该列包含一个字符串 这是来自不同 table.

的 2 列的串联

例如我搜索"James Smith"。 我使用 LIKE:

搜索列
LOWER(USER_LIST.SEARCH_STRING) LIKE LOWER 'James Smith'

我得到的结果很好。 我想知道是否有一个选项可以执行反向搜索(仍然使用 LIKE)并获得相同的结果,如下所示:

    LOWER(USER_LIST.SEARCH_STRING) LIKE LOWER 'Smith James'

请注意,我知道使用正则表达式或向视图添加额外的列可以解决此问题,但我希望尽可能少地进行更改。

提前致谢。

我希望下面的答案能够说明您的要求。

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');