sql >> Databáze >  >> RDS >> Mysql

Jak omezit hledání a nahrazování řetězce v mySQL

Můžete to omezit na podmnožinu více uzavřenou vašim potřebám vložením klauzule WHERE s REGEXP():

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

To odpovídá řádkům s názvy produktů, které mají číslo, za nímž následuje mezera a za ním S. Bohužel v MySQL není standardně implementováno žádné nahrazení REGEX, aby bylo možné nahradit pouze tuto shodu, takže to také nahradí „TYLENOL TAB SOLO 100 S" na "TYLENOL TAB'SOLO 100'S", ale nenahradí původní "TYLENOL TABS 100 S"



  1. Oracle sql:aktualizujte, pokud existuje else insert

  2. Jak číst soubor a přidat jeho obsah do databáze?

  3. rake db:create - problémy s řazením

  4. Připojení MySQL na maximální hodnotu