在给定字符串后修剪MySQL字符串

时间:2019-03-18 14:25:06

标签: mysql

我在此MySQL命令上画了一个空白。我在名为scanner的表中的名为pagetitle的变量中有一组这样的字符串:

Marketing analytics via Christopher Penn

我想放弃包括通孔在内的所有东西以产生:

Marketing analytics

我这样做了:

UPDATE scanner SET pagetitle = SELECT TRIM(TRAILING ' via ' FROM pagetitle) FROM scanner 

根据手册,这应该可以满足我的要求,但仍然可以产生原始字符串。

我在做什么错了?

1 个答案:

答案 0 :(得分:2)

带有TRAILING的{​​{1}}选项是指结尾字符,而不是整个以某个单词开头的单词。在此处尝试使用TRIM

INSTR

Demo

如果您使用的是MySQL 8+或更高版本,那么我们可以尝试使用UPDATE scanner SET pagetitle = LEFT(pagetitle, INSTR(pagetitle, 'via') - 2); WHERE pagetitle REGEXP '[[:<:]]via[[:>:]]';

REGEXP_REPLACE