Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment limiter la recherche et remplacer la chaîne dans mySQL

Vous pouvez limiter cela à un sous-ensemble plus proche de vos besoins en mettant une clause WHERE avec un REGEXP() :

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

Cela correspond aux lignes des noms de produits qui ont un numéro, suivi d'un espace, suivi d'un S. Malheureusement, il n'y a pas de remplacement REGEX implémenté par défaut dans MySQL, pour pouvoir remplacer uniquement cette correspondance, donc cela remplacera également "TYLENOL TAB SOLO 100 S" à "TYLENOL TAB'SOLO 100'S", mais il ne remplacera pas votre "TYLENOL TABS 100 S" d'origine