![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 449 Pomógł: 16 Dołączył: 25.05.2004 Skąd: Gorzów Wlkp. Ostrzeżenie: (0%) ![]() ![]() |
Witam, szukam sposobu na wyciągnięcie tylko jednej wartości z pola text w którym przechowywane są dane odseparowane spacjami, chciałbym tę wartość wybrać na drodze zapytania żeby później uniknąć explodowania stringa który sięga wagą kilkunastu kb. Orócz tegu nurtuje mnie jeszcze jedno - a mianowicie czy da się zwrócić dane z tego zapytania wdłg ORDER BY 'właśnie_ta_wartość' ?
pozdrawiam, fiszol -------------------- \o/
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
1. masz zle zaprojektowana baze danych
2. jak chcesz okreslic ktora z tych wartosci wyciagnac? -------------------- Nie lubię jednorożców.
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 449 Pomógł: 16 Dołączył: 25.05.2004 Skąd: Gorzów Wlkp. Ostrzeżenie: (0%) ![]() ![]() |
ad1. to nie moja baza
ad2. to wartośc po 33 spacji więc czymś pokroju explode, żeby nie używać jak teraz:
No i order zamiast by name chciałbym mieć wdłg wartości po 33 spacji... //[php] się chrzni przy edycji... Ten post edytował fiszol 1.11.2006, 16:50:54 -------------------- \o/
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 548 Pomógł: 2 Dołączył: 19.07.2003 Ostrzeżenie: (0%) ![]() ![]() |
witam
Kod SUBSTRING_INDEX(str,delim,count) musisz tylko dodać do tego klika modyfikacji - ta funkcja zwróci ci tekst po 33 spacji (SUBSTRING od pozycji najbliższej spacji lub coś podobnego) i dać sobie to jako alias i wtedy możesz po tym posortować ... pozdrawiam -------------------- Computer games don't affect kids; I mean if <span style="font-weight: bold;">Pac Man</span> affected us as kids,we would all be running around in darkened rooms, munching magic pills and listening to repetitive electronic music.
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 449 Pomógł: 16 Dołączył: 25.05.2004 Skąd: Gorzów Wlkp. Ostrzeżenie: (0%) ![]() ![]() |
Cytat SUBSTRING_INDEX(str,delim,count) Returns the substring from string str before count occurrences of the delimiter delim. If count is positive, everything to the left of the final delimiter (counting from the left) is returned. If count is negative, everything to the right of the final delimiter (counting from the right) is returned. SUBSTRING_INDEX() performs a case-sensitive match when searching for delim. Więc wedle tego co napisano powyżej zwróci mi wszystko co znajdzie się na lewo lub prawo od jednostki po 33 spacji i dokładnie tak się dzieje Dzięki i tak, bo w manualu tuż nad SUBSTRING_INDEX znalzłem jeszcze SUBSTRING i skleciłem zapytanie w taki sposób:
, dostaje więc to czego chcem - został mi jeszcze jeden mał problem - jeśli dam:
zwrot dostaję jakiś pomieszany, a już napewno nie ułożony jak należy -------------------- \o/
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 548 Pomógł: 2 Dołączył: 19.07.2003 Ostrzeżenie: (0%) ![]() ![]() |
witam ...
Do kolumny SUBSTRING(SUBSTRING_INDEX(data,' ',33), -2) dodaj alias (AS foo) i potem ORDER BY foo. Jeżeli to jest liczba to musisz wykonać CAST (możesz przy definicji kolumny, odpadnie dodatkowa funkcja w ORDER BY. Jeżeli to nie liczna to spróbuj jeszcze dać TRIM. pozdrawiam -------------------- Computer games don't affect kids; I mean if <span style="font-weight: bold;">Pac Man</span> affected us as kids,we would all be running around in darkened rooms, munching magic pills and listening to repetitive electronic music.
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 449 Pomógł: 16 Dołączył: 25.05.2004 Skąd: Gorzów Wlkp. Ostrzeżenie: (0%) ![]() ![]() |
nie potrafię sobie poradzić z tym CAST()'em a dorzucenie aliasu nie daje pożądanych rezultatów, na chwile obecną moje query wygląda tak:
zwrot z samego data wygląda np tak: 4 12 7 11 itd... może problemem jest to że data ma raz jedną, raz dwie cyfry? jak powinno więc wyglądać to zapytanie? pozdro i dzięki za dotychczasową pomoc -------------------- \o/
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 548 Pomógł: 2 Dołączył: 19.07.2003 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Kod CAST (SUBSTRING(SUBSTRING_INDEX(data,' ',33), -2) AS SIGNED) AS date pozdrawiam -------------------- Computer games don't affect kids; I mean if <span style="font-weight: bold;">Pac Man</span> affected us as kids,we would all be running around in darkened rooms, munching magic pills and listening to repetitive electronic music.
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 449 Pomógł: 16 Dołączył: 25.05.2004 Skąd: Gorzów Wlkp. Ostrzeżenie: (0%) ![]() ![]() |
dzieki, teraz już jest idealnie.
-------------------- \o/
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 30.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 21.06.2025 - 15:48 |