Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQL]Zmiana znaków - zapytanie SQL
Forum PHP.pl > Forum > Przedszkole
adibar
Witam

Jak prawidłowo powinno wyglądać zapytanie SQL zmieniające w całej bazie lub np. tylko w tabeli phpbb_posts_text określony ciąg znaków na inny?

Przeniosłem forum i chciałbym uaktualnić wszystkie linki w treści postów np. z:

www.xxx.pl/i_dalej_coś_tam

na

www.xxx.info.pl/i_dalej_coś_tam
phpion
Użyj REPLACE
CarlBraniewski
A jak zamienić tylko pierwsze wystąpienie jakiegoś znaku w ciągu? Przykładowo mam wartość 'KONONOWICZ' i tylko pierwsze 'O' chcę zamienić na przykładowo 'A' ?
athei
Co do "kononowicz" spróbuj tego.
  1. UPDATE
  2. tabela
  3. SET
  4. nazwa = CONCAT(REPLACE(LEFT(nazwa,INSTR(nazwa,"o")),"o","a"),"",SUBSTR(nazwa,INSTR(nazwa,"o")+1))
  5. WHERE (id=1337, costam LIKE itp)

Kod
INSTR("kononowicz","o") => 2
LEFT("kononowicz",INSTR("kononowicz","o")) => ko
REPLACE(LEFT(nazwa,INSTR(nazwa,"o")),"o","a") => ka
SUBSTR(nazwa,INSTR(nazwa,"o")+1) => nonowicz
CONCAT("ka","","nonowicz") => kanonowicz
CarlBraniewski
Dzięki za odp, ale coś mi to nie działa.. Rozbilem sobie nawet to zapytanie na czynniki pierwsze tylko czy w Oracle jest coś takiego jak LEFT? Nie mogę nigdzie znaleźć opisu tej funkcji.. No i chyba wszystko w ' ' a nie w " ".

Nie rozumiem również dlaczego CONCAT ma u ciebie trzy argumenty? A dokładnie ten środkowy?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.