Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Localizar e substituir uma parte do texto em um campo usando MySQL


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>