Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

kako sortirati 'numericki' string

[es] :: MySQL :: kako sortirati 'numericki' string

[ Pregleda: 1913 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

baseQ
Petrovic Braca
Beograd

Član broj: 125370
Poruke: 70
93.87.200.*



Profil

icon kako sortirati 'numericki' string24.01.2010. u 02:16 - pre 173 meseci
Pozdrav
imam mali problem. U polju char(16) cuvam barkod
i kada hocu da postavim kveri i da sortiram barkod kolonu nailazim na problem.
Cast as signed ili unsigned nefunkcionise
jer vrednost od 9999999999999999 prelazi integer mogucnosti.
Nemoze cast as float ili double sto mi je u ovom slucaju
zaista neophodno.
A sortiranje (chara) kao

1
102
135689
2
21
99999999999999999

ne izgleda kao sortirani redosled.
normalno potrebno mi je da izgleda

1
2
21
102
135689
99999999999999999

Kako da castujem iz stringa u float tj. kako da izvrsim
kveri koji za potrebe pregleda konvertuje u float broj bez decimala
da moze da se izvrsi pravilno ORDER BY Barkod

hvala unapred
'Think evolution, not revolution.'
 
Odgovor na temu

baseQ
Petrovic Braca
Beograd

Član broj: 125370
Poruke: 70
93.87.200.*



Profil

icon Re: kako sortirati 'numericki' string24.01.2010. u 02:31 - pre 173 meseci
Uf izvinjavam se
sad mi pade napamet da izmislim fake polje kao

"SELECT barkod, cast(barkod as signed) as barkod2 from table order by barkod2"

Pa cu posle ocitati barkod koji bi trebao da je nepromenjen i sortiran
zahvaljujuci barkod2 polju koje mi nije ni bitno.

Izvinjavam se
poz svima
'Think evolution, not revolution.'
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: kako sortirati 'numericki' string24.01.2010. u 02:31 - pre 173 meseci
unsigned bigint je 0 - 18446744073709551615

to je 20 cifara (da kazemo 19 9ki)

99999999999999999 - je 17 devetki (sto ne mozes da snimis u char16 btw) kao i vecina bar kodova ne prelazi 18 cifara. a svejedno uzima samo 8 bajtova (sto je duplo manje od char(16) koji uzima 16).

dakle prebaci to polje u unsigned bigint i vozi sve kako treba :)


 
Odgovor na temu

baseQ
Petrovic Braca
Beograd

Član broj: 125370
Poruke: 70
93.87.200.*



Profil

icon Re: kako sortirati 'numericki' string24.01.2010. u 02:34 - pre 173 meseci
Mislim da si zasluzio da se ovaj forum zove

> BogdanKecmanSql <

thx poz

P.S sta znam mozda jednog dana zatreba slovo u barkod-u :(
eto zato
'Think evolution, not revolution.'
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: kako sortirati 'numericki' string24.01.2010. u 02:45 - pre 173 meseci
tesko da ce da guraju slova .. moralo bi mnogo sta da se promeni ... no onda to svejedno nece biti numericki string pa ce ti biti tako svejedno kako ces da ga sortiras :) ... za sada psoto su brojevi, prebaci ga u unsigned bigint i bas te briga - zauzima manje mesta, radi brze (mnoooooooogo je brze uporediti dva biginta nego 2 char(16), key ce ti biti brzi etc etc ...

a to za ime .. ima ovde ljudi koji znaju sql isto koliko i ja .. mozda ima i koji znaju bolje .. problem je samo sto svi cute ko zaliveni, nece niko nista nikome da pomogne, svi su u nekoj frci "sta sutra ako ja njega naucim pa me on otera i uzme mi posao" i te fore .. ma .. sramota ..
 
Odgovor na temu

baseQ
Petrovic Braca
Beograd

Član broj: 125370
Poruke: 70
93.87.200.*



Profil

icon Re: kako sortirati 'numericki' string24.01.2010. u 02:55 - pre 173 meseci
da, iskreno ubrzo nakon sto sam napisao
proslo mi je kroz glavu to za slovo.
veceras brzam .... mnogo ....

Sigurno cu promeniti
hvala
poz

P.S kako sejes .... . ......
'Think evolution, not revolution.'
 
Odgovor na temu

[es] :: MySQL :: kako sortirati 'numericki' string

[ Pregleda: 1913 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.