从MySQL的表列中删除特定的单词?

dgtucam1  于 2023-02-28  发布在  Mysql
关注(0)|答案(2)|浏览(123)

我在MySQl表中有一列包含以下格式的单词:
名称-名称2-名称3
我想删除名称2,只保留名称-名称3
所以我只需要删除中间的单词,而不是整列!中间的单词总是一样的。
这可能吗?

xdyibdwo

xdyibdwo1#

update your_table
set your_column = concat(SUBSTRING_INDEX(your_column, '-', 1), '-',
                         SUBSTRING_INDEX(your_column, '-', -1))

SQLFiddle示例
子串索引文档

erhoui1w

erhoui1w2#

最简单的方法是使用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','')

它将适用于所有事件。

相关问题