sql >> Database teknologi >  >> RDS >> Mysql

MySQL til erstatning med jokertegn

Opdatering:MySQL 8.0 har en funktion REGEX_REPLACE() .

Nedenfor er mit svar fra 2014, som stadig gælder for enhver version af MySQL før 8.0:

REPLACE() understøtter ikke jokertegn, mønstre, regulære udtryk osv. REPLACE() erstatter kun en konstant streng med en anden konstant streng.

Du kan prøve noget komplekst for at vælge den forreste del af strengen og den bagerste del af strengen:

UPDATE table
SET Configuration = CONCAT(
      SUBSTR(Configuration, 1, LOCATE('<tag>', Configuration)+4),
      NEW_DATA,
      SUBSTR(Configuration, LOCATE('</tag>', Configuration)
    )

Men dette virker ikke i tilfælde, hvor du har flere forekomster af <tag> .

Du skal muligvis hente rækken tilbage i et program, udføre strengerstatning med dit yndlingssprog og sende rækken tilbage. Med andre ord en tre-trins proces for hver række.




  1. Java, hvordan ændres nuværende database til en anden?

  2. hvordan man laver en tabel i oracle

  3. Hvordan kan jeg løse ORA-00911:ugyldig tegnfejl?

  4. Sådan returneres kun numeriske værdier i SQL Server