Autor | Zpráva | ||
---|---|---|---|
Petr1234 Profil * |
#1 · Zasláno: 28. 2. 2007, 14:20:28
Čau,
mám v databázi ve sloupci "size" velikosti hliníkových disků pro auta. Je to uloženo jako řetězec a má délku buď 6 nebo 4. Jedná se tedy o tyto řetězce: 5,5x13 6x14 Vždy má prostě délku 6 nebo 4 znaky. Jde mi o to, že bych pomocí SQL dotazu vypsat jen to dvojčíslí za "x", takže třeba 13, 14, 15,... Věděl bych jak, kdyby ten řetězec byl vždy stejně dlouhý, ale takto fakt nevím :( Jak na to? Díky Petr1234 |
||
Spikee Profil |
#2 · Zasláno: 28. 2. 2007, 14:26:05
Explode?
|
||
Petr1234 Profil * |
#3 · Zasláno: 28. 2. 2007, 14:27:00
Explode v SQL existuje, to nevim...
Petr |
||
tiso Profil |
#4 · Zasláno: 28. 2. 2007, 14:51:00
Petr1234 stačí si uvedomiť že chceš vypísať posledné 2 znaky, dúfam že to stačí ako nakopnutie...
|
||
Petr1234 Profil * |
#5 · Zasláno: 28. 2. 2007, 14:53:30
No to vim, ze chci vypsat pouze posledni dva znaky, ale nevim jak. Neznam zadnou funkci pomoci ktere bych vypsal jen posledni dva znaky :(
Petr |
||
tiso Profil |
#6 · Zasláno: 28. 2. 2007, 15:02:08
SUBSTRING(`stlpec`, (LENGTH(`stlpec`)-1))
|
||
nightfish Profil |
#7 · Zasláno: 28. 2. 2007, 15:40:37
Neznam zadnou funkci pomoci ktere bych vypsal jen posledni dva znaky :(
v tom případě je dobré se porozhlédnout po funkcích pro práci s řetězci v manuálu k mysql dojdete totiž k: RIGHT(str,len) Returns the rightmost len characters from the string str, or NULL if any argument is NULL. mysql> SELECT RIGHT('foobarbar', 4); -> 'rbar' This function is multi-byte safe. |
||
Petr1234 Profil * |
#8 · Zasláno: 28. 2. 2007, 15:47:02
Hmm, no tak dal jsem tam:
SELECT size FROM alu_kola GROUP BY RIGHT(size,2) a stejne to vypisuje cele :( Petr |
||
nightfish Profil |
#9 · Zasláno: 28. 2. 2007, 15:49:30
Petr1234
protože vypisujete sloupec "size" a data řadíte podle posledních dvou znaků tohoto sloupce na to, aby mysql vybralo jen část sloupce, musíte RIGHT použít i u jména sloupce |
||
Petr1234 Profil * |
#10 · Zasláno: 28. 2. 2007, 15:53:02
Hmm, tedka nechapu. Me jde o to, ze ma v tabulce 10 radku, ktere maji ve sloupci "size" ...x14 a treba 8 radku, ktera maji ve slupci "size" ...x15 a casem jich bude i vice. No a chci vypsat jen jednou cislo 14 a jednou cislo 15, proto jsem pouzil to GROUP BY at se to nevypisuje tolikrat, kolik je radku.
Jak by to tedy melo spravne byt? Petr |
||
nightfish Profil |
#11 · Zasláno: 28. 2. 2007, 16:07:07
jestli jde jen o vypsání rozměrů, které jsou v tabulce, tak spíš
select distinct(right(size,2)) as prumer from alu_kola -- případně ještě doplněné o order by prumer |
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0