我有一张英国邮政编码表。它们都有不同的格式,有些大写并带有空格,有些则不是。我想要做的是格式化它们,以便它们可以遵循英国邮政编码标准。例如AB1 2BB
。
我使用此查询的目的确实有效,但某些邮政编码的第一部分较长或较短,因此并非所有人都成功。
SELECT UPPER(INSERT((REPLACE(postcode , ' ', '')) , 4, 0, ' ')) AS postcode
但是如果我尝试相反的做法
SELECT UPPER(INSERT((REPLACE(postcode , ' ', '')) , -4, 0, ' ')) AS postcode
它不起作用并返回所有粘合在一起的邮政编码,例如 AB12BB
我想要的是在最后 3 个字符之前添加一个空格。
最佳答案
我想你想要:
select concat_ws(' ',
left(replace(postcode, ' ', ''), 3),
right(replace(postcode, ' ', ''), 3
) as standardized_postcode
关于mysql - 在最后三个字符之前插入空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53592625/