19

我有一个包含此类数据的 mysql 表

TACOMA, Washington, 98477

现在我有成千上万这样的行。我希望以如下方式处理数据:

TACOMA, Washington

是否有可能通过 mysql 或我必须手动执行。

4

3 回答 3

36

您可以使用 :

SELECT SUBSTRING_INDEX('TACOMA, Washington, 98477', ',', 2)

你可以在这里阅读更多。

和更新声明:

UPDATE my_table
    SET my_col = SUBSTRING_INDEX(my_col, ',', 2)

您需要my_table用表名和my_col需要更新的列替换的位置。

于 2013-07-02T09:06:21.877 回答
9

可能是这样的。计算逗号的数量(通过检查长度与删除所有逗号的长度),然后使用 SUBSTRING_INDEX 使字符串达到逗号的数量:-

SELECT SUBSTRING_INDEX(col, ',', LENGTH(col) - LENGTH(REPLACE(col, ',', '')))
FROM SomeTable
于 2013-07-02T09:21:14.377 回答
6
substring_index(col, ',',-1)

将从逗号的最后一个索引到字符串结尾的字符串

replace(col,concat(',',substring_index(col, ',',-1)),'')
于 2013-07-02T09:04:41.323 回答