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

Come limitare la ricerca e sostituire la stringa in MySQL

Potresti limitarlo a un sottoinsieme più vicino alle tue esigenze inserendo una clausola WHERE con un REGEXP():

UPDATE products SET prodname = REPLACE(prodname, " S", "'S") WHERE prodname REGEXP '[0-9]\sS'

Questo corrisponde alle righe che i nomi dei prodotti hanno un numero, seguito da uno spazio, seguito da una S. Purtroppo non esiste alcuna sostituzione REGEX implementata per impostazione predefinita in MySQL, per poter sostituire solo quella corrispondenza, quindi questo sostituirà anche "TYLENOL TAB SOLO 100 S" a "TYLENOL TAB'SOLO 100'S", ma non sostituirà nel tuo originale "TYLENOL TABS 100 S"