Autor Zpráva
had
Profil *
Ahoj,
prosím vás - nevíte někdo, prosím, jakým způsobem odstranit z tabulky všechny závorky a obsah v nich? Mám sloupec (cz), ve kterém mám textové řetězce a potřeboval bych všude vyhledat a nahradit text v závorkách.

Umím text najít, umím nahradit konkrétní text, ale neumím nahradit proměnlivý text...

UPDATE opravit SET cz = REPLACE(cz,  cz REGEXP '%(%)%', '')
- tohle mi nefungovalo... nevíte někdo, prosím, jak na to? Mám v databázi asi 17 000 záznamů, nerad bych to dělal ručně... :-)
Díky!
Tori
Profil
A věděl byste to udělat v PHP - v cyklu načíst, nahradit, uložit? Je to sice trochu oklika, ale když to má být jednorázová hromadná změna dat, tak bych to neřešila. (Btw čím se to má nahrazovat? Anebo zcela odstranit vše mezi závorkami včetně nich?)
Kajman_
Profil *
Šlo by to trochu pracně i v myslq, použijte opakovaně
substr(), locate() a concat()

Nejlépe v uložené proceduře (funkci).

Pokud to máte v oracle nebo postresql, tak tam existuje regulární replace.
had
Profil *
Tori: hm... vyskytuje se to celkem v 1 000 případech. Možná by to bylo nejlepší řešení přes PHP, sice nevím přesný reg. výraz (já se s regulárama špatně domluvím), ale někde to najdu. :-)
Jinak se to má uplně odstranit včetně závorek. Jo...a v některých případech chybí jedna ze závorek, ale většinou jsou obě (260 případů).

Kajman_: je to mysql 5.5
Tori
Profil
had:
Pro nahrazování bude funkce preg_replace, možná se vám hodí i set_time_limit.

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:

0