我想根据字符串中的位置来搜索文本搜索。在字符串开头找到的那些匹配首先出现,依此类推。如果我的描述不清楚,我到目前为止所尝试的内容可能有所帮助。
Select "BANK", "ACH" from "FI" where "ACH" like '1119%'
Union All
Select "BANK", "ACH" from "FI" where "ACH" like '%1119%'
这是迄今为止我能想到的最好的。我的直觉说它可能不是有效的,它确实没有像我想的那样解决问题。
答案 0 :(得分:2)
你可以这样做:
Select "BANK", "ACH"
from "FI"
where "ACH" like '%1119%'
order by (case when "ACH" like '1119%' then 1 else 2 end);
或者,这是另一种更简单的方式:
order by position('1119' in "ACH")
按您要搜索的字符串的位置排序。