有人能给我一个例子,说明如何使用SQL命令删除邮政编码字段中短划线“-”后的内容吗?
例如,更改以下任一项:

XXXXX-X
XXXXX-
XXXXX-XX
XXXXX-XXXX

对此:
XXXXX

谢谢你举的例子。我还需要删除数据库中的“-”、“-X”、“-XXXX”等任何实例,以便邮政编码只包含五位数字。有人能举个例子吗?

最佳答案

您可以使用MySQL的SUBSTRING_INDEX()方法,而不是使用regex:

SELECT SUBSTRING_INDEX(zip_code, '-', 1) FROM your_table

编辑(以支持更新)
UPDATE your_table SET zip_code = SUBSTRING_INDEX(zip_code, '-', 1);

我建议创建第二列,可能zip_code_short并运行SET zip_code_short =而不是覆盖主数据-只是确保它不会首先导致任何错误(如果可行)。

关于mysql - 如何使用MySQL REGEXP从邮政编码字段中删除-XXXX?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12429117/

10-13 02:03