Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.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_Regex - Fatal编程技术网

替换MySQL中的部分字符串

替换MySQL中的部分字符串,mysql,regex,Mysql,Regex,如果我的MySQL中有这样的数据 SELECT DISTINCT(data) FROM table Replace(data, "(xxxx)", ""); 表: 数据(文本) 富(哈尔) 傅(戴夫) 酒吧(戴夫) 酒吧(戴夫) 我想做这个查询 SELECT DISTINCT(data) FROM table; 现在将返回上面列出的表。但是我想做的是某种替换,这样我的返回查询应该是这样的 SELECT DISTINCT(data) FROM table Replace(data, "(xxx

如果我的MySQL中有这样的数据

SELECT DISTINCT(data) FROM table Replace(data, "(xxxx)", "");
表:

数据(文本)

富(哈尔)

傅(戴夫)

酒吧(戴夫)

酒吧(戴夫)

我想做这个查询

SELECT DISTINCT(data) FROM table;
现在将返回上面列出的表。但是我想做的是某种替换,这样我的返回查询应该是这样的

SELECT DISTINCT(data) FROM table Replace(data, "(xxxx)", "");
因此,查询返回

  • 酒吧
显然,数据并没有被替换,因为括号很重要,它只是被替换用于查询


如果可以做到这一点,那么在这方面是否存在性能缺陷

这对我解决上述问题很有效。谢谢hobodave你把我带到了正确的方向

SELECT DISTINCT stuff 
FROM (
  SELECT RTRIM(SUBSTR(data, 1, LOCATE('(', data) - 1)) AS stuff 
  FROM foo
) t;
SELECT DISTINCT(SUBSTRING_INDEX(data, '(', 1)) AS tag FROM table

这对我解决上述问题有效。谢谢hobodave你把我带到了正确的方向

SELECT DISTINCT(SUBSTRING_INDEX(data, '(', 1)) AS tag FROM table

您能否发布您的表模式和一些示例数据,以便我们更好地了解您要做的事情。而且,从你发布的内容来看,你最好使用一个类似的查询。更换肯定会影响上述性能。表名为“table”,其中有一列“data”,上面显示了字段。您可以发布表架构和一些示例数据,以便我们更好地了解您正在尝试执行的操作。而且,从你发布的内容来看,你最好使用一个类似的查询。更换肯定会影响上述性能。表名为“table”,其中有一列“data”,字段显示在RTRIM的上方。RTRIM是可选的。它会从你的数据中去掉尾随空格。定位(“(”,data)-1)我对此有疑问,它工作得很好。我们不能帮助你,如果你只是说“我有问题”,RTRIM是可选的。它会从你的数据中去掉尾随空格。定位(“(”,data)-1)我对此有疑问,它工作得很好。如果你只是说“我有问题”,我们帮不了你