【发布时间】:2023-04-03 22:15:01
【问题描述】:
是否可以根据字符串的一些第一个字符选择数据库条目,与 MySQL 列中的“范围”匹配?
我将尝试通过一个示例来更清楚地说明这一点: 我需要通过匹配邮政编码来选择一个数据库条目,但我们从另一个系统的“范围”中检索了邮政编码,例如 100-128。邮政编码 10001(纽约)需要与此条目匹配。邮政编码的前 3 位数字需要与 100 或 128 或介于 (101, 102, ... 126, 127) 之间的任何数字匹配。
所以,数据库条目都是 050-051、144-146、245-253 等,我需要匹配完整的邮政编码。
是否有可能通过查询选择此条目?
感谢任何帮助!
编辑: 我会尽量说得更清楚:
我只有一个用户输入的邮政编码,例如 10001 (NY)。
现在我想检索我的运输信息表中与范围 (100-128) 匹配的所有条目。
用户邮编:07200,检索范围为:064-089的条目
用户邮编:33101,检索范围为:330-334的条目
等等。
我的运输信息表包含以下列:
ID、country_id、zip_range、价格
【问题讨论】:
-
MySql Regex 怎么样?例如。
...WHERE my_col RLIKE '^1([01][0-9]|2[0-8])' -
如何自动将
100-128之类的字符串转换为该正则表达式?你将如何在 SQL 中做到这一点?
标签: mysql regex range wildcard