【发布时间】:2011-03-08 05:28:39
【问题描述】:
使用: 用户搜索部分邮政编码,例如“RG20”,然后应按特定顺序显示。该查询在布尔模式下使用 MATCH AGAINST 方法,其中数据库中的邮政编码示例为“RG20 7TT”,因此它能够找到它。 同时,它还匹配其半径内的其他邮政编码列表(这是一个单独的查询)。
我似乎找不到按部分匹配排序的方法,例如:
ORDER BY FIELD(postcode, 'RG20', 'RG14', 'RG18','RG17','RG28','OX12','OX11')
DESC, city DESC
因为不是专门找RG20 7TT,我觉得不能部分匹配。
我尝试了 SUBSTR(邮政编码,-4)并查看了左右,但使用“按字段”没有任何成功,并且找不到另一条路线... 抱歉,这有点啰嗦,但我有点纠结。 英国邮政编码分为两部分,最后一部分总是 3 个字符,在我的数据库中,如果有帮助的话,两者之间有一个空格。
虽然邮政编码后面有一个 DESC,但我确实需要它们以特定顺序显示(RG20、RG14 然后 RG18 等)。我不确定指定降序是否会删除排序
【问题讨论】:
-
什么数据库系统 - 什么版本??
标签: sql postgresql sql-order-by postal-code