【发布时间】:2014-10-29 16:00:46
【问题描述】:
我需要邮政区(首字母)与我的字符串匹配的所有邮政编码。
邮政编码示例:
SW12 3AB
S12 3AB
如果我的邮政区字符串是 's',它应该只返回 S12 3AB。
如果我的邮政区字符串是“sw”,它应该只返回SW12 3AB。
这是我的查询:
SELECT ID, Postcode
FROM order
WHERE Postcode REGEXP '^s[0-9].*'
花了几个小时阅读手册后,我发现这种语法没有问题。 - 邮政编码必须以我的字符串开头 - 字符串后面必须跟一个数字 - 之后任何事情都可能发生
很遗憾没有返回任何记录。我做错了什么?
【问题讨论】:
-
可能是
'^s[0-9].*'中的s是小写,而在邮政编码中是大写S?大多数正则表达式默认情况下区分大小写。试试'^[sS][0-9]'(你可以省略.*,因为你不匹配字符串的结尾)。 -
@funkwurm,省略
.*是一个很好的提示,谢谢。不幸的是,区分大小写不是问题。尝试了很多方法...