>>>> 2012/03/08 16:11 -0500, Hank >>>>
I have a varchar field in the database, and I want to remove all text
between WordA and WordB, including WordA and WordB, leaving all text
before WordA and after WordB intact.
Possible with just SQL? I know I can write a PHP program to do it,
but it's not that important to spend that much time on. I'd like one
SQL statement to do it.
<<<<<<<<
One statement is hard, but maybe you'll take an SQL function?
IF field REGEXP (WordA || '.*' || WordB) THEN
SET i = LOCATE(WordA, field),
j = LOCATE(REVERSE(WordB), REVERSE(field));
SET answer = LEFT(field, i-1) || RIGHT(field, j-1);
ELSE SET answer = field;
END IF
or something like that (ANSI mode).
It would be much nicer to get a location pair out of REGEXP (RLIKE) than only a
yes/no (1/0). In this case, the most useful _one_ number from REGEXP would be
the length of the match.
--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe: http://lists.mysql.com/mysql