Autor | Zpráva | ||
---|---|---|---|
Petr1234 Profil * |
#1 · Zasláno: 23. 2. 2007, 11:57:35
Čau,
mám v databázi několik řádků s údaji nabídky hliníkových kol. V jednom sloupci mám velikost kol např. 7x15, 5,5x13, 6x14, 6,5x15. Když si nechám vypsat záznamy setříděný podle velikost vzetupně, vypíše mi je takto: 5,5x13 6,5x15 6x14 7x15 Což není podle velikosti kol. Předpokládám, že to zapříčiňuje ta desetiná čárka. Navíte jak bych to mohl opravit, ať se to vypíše správně? Sloupec mám ve formátu varchar. Díky Petr |
||
Hugo Profil |
#2 · Zasláno: 23. 2. 2007, 12:03:30
Toto imho nepůjde, protože db to bere jako řetězec. Leda to rozdělit do dvou sloupců typu float.
|
||
tiso Profil |
#3 · Zasláno: 23. 2. 2007, 12:06:08
Triedi sa to ako text, nie ako číslo... buď si sprav 2 stĺpce a ukladaj to ako čísla 5,5/13, alebo si to zotrieď ručne...
|
||
Anonymní Profil * |
#4 · Zasláno: 23. 2. 2007, 12:24:13
Myslím, že by sa v MySQL mali dať použiť nejaké funkcie na získanie čísel z reťazca.
No ak sa to má triediť často, asi by bolo najlepšie stĺpec rozdeliť na dva číselné, pomocou nich zoznam zoradiť a spájať ich do reťazca. |
||
nightfish Profil |
#5 · Zasláno: 23. 2. 2007, 12:33:40
třeba
SELECT * FROM `test`ORDER BY substring_index( rozmer, 'x', 1 ) |
||
Kajman_ Profil * |
#6 · Zasláno: 23. 2. 2007, 13:07:34
A ještě bude asi třeba replace , za .
|
||
Petr1234 Profil * |
#7 · Zasláno: 23. 2. 2007, 13:14:27
třeba
SELECT * FROM `test`ORDER BY substring_index( rozmer, 'x', 1 ) Toto neni spatny napad, ale ja bych mel do toho parametru nejak nacpat vsechny mozne rozmery v danem sloupci, ne? Takto dokazu odfiltrovat jen nejaky konkretni, ne? Petr |
||
nightfish Profil |
#8 · Zasláno: 23. 2. 2007, 13:27:32
Kajman_
zřejmě jo, moc jsem to netestoval, jen na mysql 4.0.21 a tam to prošlo i s čárkou správně Petr1234 rozmer = název sloupce, ve kterém jsou uloženy rozměry... |
||
Kajman_ Profil * |
#9 · Zasláno: 23. 2. 2007, 14:04:08
s čárkou to dojde správně... do té doby, dokud tam nebudou i čísla větší než 10, jinak bude nutné převést na tečku a přičíst nulu nebo tak něco
ale určitě by bylo lepší to dát do dvou sloupečků s typem decimal |
||
Petr1234 Profil * |
#10 · Zasláno: 23. 2. 2007, 14:54:52
No pise mi to chybu: FUNCTION databaze.SUBSTRING_INDEX does not exist
Na serveru MySQL 5.0.34 Petr |
||
nightfish Profil |
#11 · Zasláno: 23. 2. 2007, 15:03:52
Petr1234
máš špatně ten dotaz s největší pravděpodobností... konkrétně se mu nelíbí zápis databaze.SUBSTRING_INDEX - do databaze. tam být nemá |
||
Petr1234 Profil * |
#12 · Zasláno: 23. 2. 2007, 15:26:51
Nene, uz jsem na to prisel. Mezi tou funkci a zavorkou kde jsou jeji parametry nesmi byt mezera. Musi to byt u sebe :)
Diky vsem :) |
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0