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

Hvordan kan jeg kun erstatte det første resultat i SQL-funktion

I MySQL <8.0, hvor regexp_replace() og lignende er ikke understøttet, du kan bruge strengfunktioner:

update wp_comments
set comment_content = concat(
    substr(comment_content, 1, locate('XXX', comment_content) - 1),
    'MMM',
    substr(comment_content, locate('XXX', comment_content) + 3)
) 
where comment_id = 334 and locate('XXX', comment_content) > 0

Demo på DB Fiddle :

comment_id | comment_content                                                               
---------: | :-----------------------------------------------------------------------------
       334 | Hello MMM tomorrow we XXX will meeting in XXX Dubai, Do you want join us XXX ?


  1. Sådan implementeres en produktionsklar MySQL eller MariaDB Galera Cluster ved hjælp af ClusterControl

  2. Mysql LIKE-klausul og separate ord i et felt

  3. MYSQL Venstre forbinder A.table og b.table, mens du beholder et.table-id

  4. Aggreger funktion over et givet tidsinterval