Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL]Replace w bazie danych mysql
laryguy
post
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 6.01.2011

Ostrzeżenie: (0%)
-----


Mam problem...
Pole w bazie mysql zawiera:
Kod
|tytul|TEKST||al|ti|

I jak usunąć z tego pola ten kawałek: |tytul|TEKST|
Próbowałem coś takiego:
Kod
UPDATE dle_post SET xfields = REPLACE(xfields, "|tytul|%|", "")

ale nie działa... (oczywiście TEKST jest zmienny, więc musi tam być dowolny ciąg znaków %)
Go to the top of the page
+Quote Post
kefirek
post
Post #2





Grupa: Zarejestrowani
Postów: 781
Pomógł: 256
Dołączył: 29.06.2008

Ostrzeżenie: (0%)
-----


Może tak ?
  1. UPDATE dle_post SET xfields = SUBSTRING_INDEX(xfields, '|', -4);


Ten post edytował kefirek 15.01.2011, 20:19:41
Go to the top of the page
+Quote Post
laryguy
post
Post #3





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 6.01.2011

Ostrzeżenie: (0%)
-----


Tylko, że to chyba jest zwykłe ucinanie po określonej liczbie znaków (IMG:style_emoticons/default/smile.gif) A ten tekst, który muszę wyciąć nie zawsze znajduje się po takiej samej liczbie znaków i właśnie dlatego muszę użyć replace z wyrażeniem reg.
Go to the top of the page
+Quote Post
kefirek
post
Post #4





Grupa: Zarejestrowani
Postów: 781
Pomógł: 256
Dołączył: 29.06.2008

Ostrzeżenie: (0%)
-----


Ale to nie jest po określonej liczbie znaków tylko wycina wszystko przed | czyli zostaje tylko |al|ti|
SUBSTRING_INDEX

Ten post edytował kefirek 15.01.2011, 20:21:43
Go to the top of the page
+Quote Post
laryguy
post
Post #5





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 6.01.2011

Ostrzeżenie: (0%)
-----


Wielkie dzięki! Połączyłem SUBSTRING_INDEX z inną funkcją i wszystko działa (IMG:style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.09.2025 - 17:09