Autor Zpráva
Petr1234
Profil *
Č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
Explode?
Petr1234
Profil *
Explode v SQL existuje, to nevim...

Petr
tiso
Profil
Petr1234 stačí si uvedomiť že chceš vypísať posledné 2 znaky, dúfam že to stačí ako nakopnutie...
Petr1234
Profil *
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
SUBSTRING(`stlpec`, (LENGTH(`stlpec`)-1))
nightfish
Profil
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 *
Hmm, no tak dal jsem tam:

SELECT size FROM alu_kola GROUP BY RIGHT(size,2)

a stejne to vypisuje cele :(

Petr
nightfish
Profil
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 *
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
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
Toto téma je uzamčeno. Odpověď nelze zaslat.