Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何删除一列中的一部分条目?_Mysql_Sql - Fatal编程技术网

Mysql 如何删除一列中的一部分条目?

Mysql 如何删除一列中的一部分条目?,mysql,sql,Mysql,Sql,我有MySQL基表,需要在一列中更改内容 该列中的条目为: Cat - Grey - small Cat - Grey - middle Dog - Grey - big Elephant - Grey - big 我需要删除中间的单词,这样我就可以得到Cat-small,Cat-middle 这是一个专栏 您可以使用: 下面是一种不使用中间词获取字符串的通用方法: select concat( substring(oldcol,1,locate('-', oldcol)),

我有MySQL基表,需要在一列中更改内容

该列中的条目为:

Cat - Grey - small 
Cat - Grey - middle 
Dog - Grey - big 
Elephant - Grey - big 
我需要删除中间的单词,这样我就可以得到Cat-small,Cat-middle

这是一个专栏

您可以使用:


下面是一种不使用中间词获取字符串的通用方法:

select concat(
  substring(oldcol,1,locate('-', oldcol)),
  substring(oldcol,length(oldcol) - locate("-", reverse(oldcol))+2)
) as newcol
from mytable

使用regex提取第一个和最后一个单词,使用resultUPDATE表set column=REPLACE-Grey-,,设置/更新字段;这成功了!谢谢
select concat(
  substring(oldcol,1,locate('-', oldcol)),
  substring(oldcol,length(oldcol) - locate("-", reverse(oldcol))+2)
) as newcol
from mytable