Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So beschränken Sie die Suche und ersetzen Zeichenfolgen in mySQL

Sie könnten dies auf eine Teilmenge beschränken, die Ihren Anforderungen besser entspricht, indem Sie eine WHERE-Klausel mit einem REGEXP():

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

Dies stimmt mit den Zeilen überein, in denen Produktnamen eine Zahl gefolgt von einem Leerzeichen gefolgt von einem S enthalten. Leider ist in MySQL standardmäßig keine REGEX-Ersetzung implementiert, um nur diese Übereinstimmung ersetzen zu können, daher wird dies auch "TYLENOL TAB SOLO 100 S" in "TYLENOL TAB'SOLO 100'S", aber es ersetzt nicht in Ihrem ursprünglichen "TYLENOL TABS 100 S"