Autor Zpráva
Matherz
Profil
Zdravím,
potřeboval bych pomoc sestrojit jednoduchý SQL příkaz který by v určité tabulce nahradit nějaký řetězec to bych sice jednoduše provedl s příkazem replace ale má to háček pole je typu BLOB takže je všechno v bin soustavě.

Skoušel něco ve smyslu:

update TABLE_NAME set FIELD_NAME = replace(FIELD_NAME, ‘find this string’, ‘replace found string with this string’) CONVERT( `old_text` USING utf8 )

Ale nefungovalo díky za budoucí pomoc.
Tomáš K.
Profil *
Co takto?
update TABLE_NAME set FIELD_NAME = replace(CONVERT( `old_text` USING utf8 ), ‘find this string’, ‘replace found string with this string’)

Replace funguje i na blob (vyzkoušeno ve verzi 5.5). Ale je to špatné řešení, pokud řešíte kódování, pak je to patrně text a pro text má být zvolený jiný datový typ než blob.
Matherz
Profil
Nakonec jsem použil něco ve smyslu

UPDATE teasxt SET old_text = replace(old_text, 'Syntaxee', 'Syntaxe');

Nemusel jsem to ani převádět do textu tak v pohodě

Tomáš K.Replace funguje i na blob (vyzkoušeno ve verzi 5.5). Ale je to špatné řešení, pokud řešíte kódování, pak je to patrně text a pro text má být zvolený jiný datový typ než blob.

Ten typ pole BLOB neni ze strandy králíků, znám datové typy ale ten BLOB prostě splňuje to co má dělat.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: