我在MySQl表中有一列包含以下格式的单词:名称-名称2-名称3我想删除名称2,只保留名称-名称3所以我只需要删除中间的单词,而不是整列!中间的单词总是一样的。这可能吗?
xdyibdwo1#
update your_table set your_column = concat(SUBSTRING_INDEX(your_column, '-', 1), '-', SUBSTRING_INDEX(your_column, '-', -1))
SQLFiddle示例子串索引文档
erhoui1w2#
最简单的方法是使用REPLACE。
REPLACE
UPDATE table SET column=REPLACE(column,'Yourstring','')
假设我有一个名为car的表,在这个表中,有一个名为version的列,在这个版本中,很少有数据包含字符串'Auto',我想删除它。GT 1.4涡轮增压多空气2d自动-〉GT 1.4涡轮增压多空气2d因此,简单的解决方案是:
UPDATE cars SET version=REPLACE(version,'Auto','')
它将适用于所有事件。
2条答案
按热度按时间xdyibdwo1#
SQLFiddle示例
子串索引文档
erhoui1w2#
最简单的方法是使用
REPLACE
。假设我有一个名为car的表,在这个表中,有一个名为version的列,在这个版本中,很少有数据包含字符串'Auto',我想删除它。
GT 1.4涡轮增压多空气2d自动-〉GT 1.4涡轮增压多空气2d
因此,简单的解决方案是:
它将适用于所有事件。