MySQL中的正则表达式捕获组

5

是否可以在MySQL查询的select语句中捕获正则表达式匹配项?

我想要查询英国邮政编码中的首字母,如:

SELECT addresses中所有邮编(一个或两个)的首字母;

英国邮政编码以一到两个字母开头,然后是一到两个数字,可选一个空格,然后是两个字母和最后一个数字。

例如:

SW8 4EX

E1 7AG

EC1 8AG

SE17 9AW


你想要实现什么?请提供示例。也许可以看一下MariaDB中使用REGEXP_REPLACE进行正则表达式查找和替换的正确语法是什么? - Wiktor Stribiżew
这篇帖子可能会有帮助 https://dev59.com/EGEi5IYBdhLWcg3wWLES - pcantalupo
@pcantalupo 那篇帖子是关于Sql Server的... - sumek
地址列的内容是什么?你能发布一些样本数据吗?它可能只是一个 SUBSTRING(addresses, 0, 2) - solarc
@solarc 我已经添加了一些英国邮政编码的示例。 - sumek
1个回答

1
SELECT REGEXP_REPLACE('SW8 4EX', ' .*', '');

这应该适用于您的示例。首先确保邮政编码列不包含前导空格。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接