Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: MySQL ja ORDER BY

Sivun loppuun

sane [24.12.2007 01:32:22]

#

Hei!

Minulla on tietokantaan tallennettuna hyvin eri kokoisia lukuja, ja ne tulisi saada sieltä ulos järjestyksessä. Tällä hetkellä taulun tyyppinä on VARCHAR. Ongelma muodostuu siinä vaiheessa, kun lukuna onkin esimerkiksi 2E+15, jolloin sitä ei osatakaan enää laittaa oikeaan paikkaan, kun Mysql ei tuota ilmeisesti luvuksi tunnista. Eli voinko pakottaa Mysqliä käsittelemään tuota numerona mitenkään, vai tulisiko kentän tyyppiä muuttaa? Ja jos tulisi niin miksi?

peg [24.12.2007 03:34:37]

#

koita VARCHAR tilalle BIGINT

sane [25.12.2007 19:06:30]

#

Ei toimi, kun BIGINT ei hyväksy desimaalilukuja, eikä lukuja muodossa 1E-15

neau33 [25.12.2007 19:15:59]

#

Heippa sane!

Lättää se arvo kantaan tekstinä ja muuttele haun jälkeen takas luvuks...

sane [25.12.2007 20:31:36]

#

Mitä tarkoitat arvon lättäämistä tekstinä? Ja saisiko tälleen Mysqlin palauttamaan suoraan oikeassa järjestyksessä? Tietenkin mahdollisuus on suorittaa tuo lajittelu vasta php:n voimalla, mutta "oikeammin" taitaisi olla saada se oikeassa järjestyksessä jo kannasta?

neau33 [25.12.2007 20:39:26]

#

Heippa taas sane!

Jos nyt kannassa sattuis olemaan vaikka teksti "123.2" niin melko varmasti, nousevassa järjestyksessä, lajittelussa se on ennen tekstiä "1234.1" jne...

GimPeltzi [25.12.2007 20:46:09]

#

DECIMAL tai NUMERIC -tietotyypit. (sori, Nea, olet viestin poiston uhri)

neau33 [25.12.2007 20:48:06]

#

Moikka GimPeltzi!

You're damn right, mutta siinä missä noidenkin rajat tulee vastaan niin stringin pituus, vaikkapa 150-merkkiä. hakkaa niiden palautteen joka kerta vertailussa...

Antti Laaksonen [25.12.2007 20:49:58]

#

Kuinka monta numeroa voi olla luvun kokonaisosassa ja luvun desimaaliosassa? Täytyykö luvut tallentaa tarkasti ilman pyöristyksiä?

Tuo 2E+15 kuulostaa liukuluvulta, joten ehkä tyyppi DOUBLE olisi sopiva. Voi kuitenkin olla, että MySQL ei sisällä sopivaa tyyppiä, vaan luvut täytyy järjestellä vasta PHP:ssä.

neau33 [25.12.2007 21:05:25]

#

HEIPPA!

anna, please, mun nyt ymmärtää GimPelzi ++ and I'll show you mitä on jäynä...

sane [25.12.2007 21:41:21]

#

Kiitoksia, tuolla DOUBLE tyypillä onnistuu mainiosti.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta