我有一个联系人表和一个邮政编码数据表。

我需要匹配邮政编码的第一部分以及与邮政编码表的连接...,然后执行更新...

我想做这样的事情...

UPDATE `contacts` LEFT JOIN `postcodes` ON PREG_GREP("/^[A-Z]{1,2}[0-9][0-9A-Z]{0,1}/", `contacts`.`postcode`) = `postcodes`.`postcode` SET `contacts`.`lat` = `postcode`.`lat`, `contacts`.`lng` = `postcode`.`lng`


可能吗??还是我需要使用外部脚本?

非常感谢。

最佳答案

我不确定您要使用的正则表达式是什么,但是如果您只需要使前[LENGTH]个字符相同,那么它将起作用:

update c
set c.lat = p.lat, c.lng = p.lng
from contacts c
inner join postcodes p
  on substring(c.postcode, 0, [LENGTH]) = substring(p.postcode, 0, [LENGTH]

关于mysql - 更新正则表达式MYSQL,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2507487/

10-11 19:23