gpt4 book ai didi

mysql - 使用 MySQL 比较两个字符串

转载 作者:行者123 更新时间:2023-11-29 09:18:47 25 4
gpt4 key购买 nike

我不想比较 SQL 请求中的两个字符串,以便检索最佳匹配,目的是向运算符(operator)建议可能的最佳邮政编码。例如,在法国,我们有整数邮政编码,所以我提出了一个简单的请求:

SELECT *
FROM myTable
ORDER BY abs(zip_code - 75000)

此请求首先返回距离巴黎最近的数据。

不幸的是,英国有AB421RS这样的邮政编码,所以我的请求无法实现。我在 SQL Server 中看到一个函数“差异”:http://www.java2s.com/Code/SQLServer/String-Functions/DIFFERENCEworkoutwhenonestringsoundssimilartoanotherstring.htm

但是我使用MySQL..

是否有人有一个好主意,可以通过一个简单的请求来完成这一任务?

PS:编辑距离不会这样做,因为我真的不想像数字一样比较字符串。 ABCDEF 必须比 ZBCDEF 更接近 AWXYZ。

最佳答案

好吧,我必须停止提问并立即找到答案!!

对于社区,我将做以下事情:

select *
from myTable
order by abs(ascii(substring(zip_code,1,1)) - ascii(substring('AAAAA',1,1))) asc,
abs(ascii(substring(zip_code,2,1)) - ascii(substring('AAAAA',2,1))) asc,
abs(ascii(substring(zip_code,3,1)) - ascii(substring('AAAAA',3,1))) asc,
abs(ascii(substring(zip_code,4,1)) - ascii(substring('AAAAA',4,1))) asc,
abs(ascii(substring(zip_code,5,1)) - ascii(substring('AAAAA',5,1))) asc

关于mysql - 使用 MySQL 比较两个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3071033/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com