MySQL 查询 - 选择邮政编码匹配

标签 mysql

我需要根据字段的前 2 个字符进行选择,例如

SELECT * from table WHERE postcode LIKE 'rh%'

但这会选择在“邮政编码”字段中的任何位置包含这 2 个字符的任何记录,对吗?我需要一个只选择前 2 个字符的查询。有什么指点吗?

谢谢

最佳答案

您的查询是正确的。它搜索以“rh”开始的邮政编码。

相比之下,如果您想在字段中的任何位置搜索包含字符串“rh”的邮政编码,您可以这样写:

SELECT * from table WHERE postcode LIKE '%rh%'

编辑:

要回答您的评论,您可以使用 %_ 中的一个或两个来进行相对简单的搜索。正如您已经注意到的,% 匹配任意数量的字符,而 _ 匹配单个字符。

因此,为了匹配以“RHx”(其中 x 是任何字符)开头的邮政编码,您的查询将是:

SELECT * from table WHERE postcode LIKE 'RH_ %'

(注意 _ 之后的空格)。对于更复杂的搜索模式,您需要阅读正则表达式。

进一步阅读:

http://dev.mysql.com/doc/refman/5.1/en/pattern-matching.html

http://dev.mysql.com/doc/refman/5.1/en/regexp.html

关于MySQL 查询 - 选择邮政编码匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3228560/

相关文章:

mysql - cakephp3 查找具有选定列的数据

mysql - org.springframework.web.multipart.MultipartException : Current request is not a multipart request

mysql - 为什么当我通过 phpMyAdmin 导入 SQL 数据库时导入没有完成

mysql - 表示 er 图中 sql/mysql 的全部部分参与

php - 生成连续的引用号

mysql - 错误 1878 (HY000) : Temporary file write failure in mysql

mysql - 如何限制mysql从多个表中搜索结果?

asp.net - 使用 ASP.net 在 MySql 中存储当前日期和时间

mysql - 在 Mysql 中找不到文件错误以及如何将 txt 文件加载到表中

java - 如何在Android应用程序中添加表情符号支持以发表评论?