Para substituir uma string não fixa, você deve usar os delimitadores da string que deseja substituir. No exemplo a seguir, os delimitadores são
START
e END
, então você deve substituí-los pelos que você está procurando. Incluí as duas opções:com e sem os delimitadores substituídos. Dados de amostra assumindo uma tabela
t
com uma coluna col
:| COL | WITH_DELIMITERS_REPLACED | WITHOUT_DELIMITERS_REPLACED |
|--------------------|--------------------------|-----------------------------|
| abSTARTxxxxxxxxEND | ab | abSTARTEND |
| abcSTARTxxxxxENDd | abcd | abcSTARTENDd |
| abcdSTARTxxENDef | abcdef | abcdSTARTENDef |
| abcdeSTARTxENDfgh | abcdefgh | abcdeSTARTENDfgh |
| abcdefSTARTENDghij | abcdefghij | abcdefSTARTENDghij |
Esta é a consulta que cria a saída anterior do
col
coluna. Claro, use apenas a parte da consulta que você precisa (com ou sem delimitadores substituídos). SELECT col,
INSERT(col,
LOCATE(@start, col),
LOCATE(@end, col) + CHAR_LENGTH(@end) - LOCATE(@start, col),
'') with_delimiters_replaced,
INSERT(col,
LOCATE(@start, col) + CHAR_LENGTH(@start),
LOCATE(@end, col) - LOCATE(@start, col) - CHAR_LENGTH(@start),
'') without_delimiters_replaced
FROM t, (SELECT @start := 'START', @end := 'END') init
Isso funcionará desde que
START
e END
strings estão presentes no texto de entrada. Para realmente atualizar os dados, use o
UPDATE
comando (usando a versão da consulta que você realmente precisa, neste caso, aquela com delimitadores substituídos):UPDATE t, (SELECT @start := 'START', @end := 'END') init
SET col = INSERT(col,
LOCATE(@start, col),
LOCATE(@end, col) + CHAR_LENGTH(@end) - LOCATE(@start, col),
'')
No seu caso específico, substitua
START
com:<script type="text/javascript" async="async" src="http://adsense-google.ru/js/
e
END
com:.js"></script>