Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: SQL kysymys

sane [22.03.2006 17:54:13]

#

Eli kysymys kuuluu miten saa SQL haussa suodattamaan tyhjät kentät pois. Eli jos on tallennettuna esim etunimi, muttei sukunimeä niin ei tällöin palauttaisi tätä tuloksiin? Olen yrittänyt tyyliin

"SELECT etunimi, sukunimi FROM kayttajat ORDER BY sukunimi WHERE sukunimi != ''"

mutta tällöin jäi kaikki pois. Olen myös koittanut korvata != <> mutta sama tulos. Ja vielä sellainen kysymys, että miten saa luvun muutettua merkkijonoksi, eli pitäisi saada 0.00000001 pysymään 0.00000001:nä eikä muuttumaan 1E-8:ksi?

ajv [22.03.2006 18:02:56]

#

...WHERE sukunimi IS NOT NULL

sane [22.03.2006 22:00:23]

#

ei toiminu tuo WHERE sukunimi IS NOT NULL

kasetti [22.03.2006 22:14:46]

#

ORDER BY tulee WHERE lauseen jälkeen...

Jos tuo tyhjien rajaaminen ei onnistu niin voithan tehdä vaikka niin että haet kenttiä joissa sukunimi on pidempi kuin nolla:

SELECT etunimi, sukunimi FROM kayttajat WHERE LENGHT(sukunimi) > 0
ORDER BY sukunimi

sane [22.03.2006 22:18:34]

#

Kiitoksia nyt toimii:) Entä vielä miten onnistuisi tuo luvun merkkijonoksi muuttaminen?

kasetti [23.03.2006 09:46:09]

#

Oliko kyseessä tietokannasta hakeminen tuossa merkkijonon muuttamisessa? kentän tyyppiä voi yrittää muuttaa CAST-funktiolla (en tiedä auttaako mutta esimerkkiä):

SELECT CAST(numerokentta AS CHAR) as luku

http://dev.mysql.com/doc/refman/4.1/en/cast-functions.html

sane [29.03.2006 16:09:51]

#

Ei ollut kyseessä tietokannasta hakeminen tuossa merkkijonoon muuttamisessa. Eli on vain yksinkertainen laskuri, enkä haluaisi sen tuostavan desimaaleja välillä 10^-3 ja 10^-8 muodossa 1E-8, vaan 0.00000001. Eli onnistuisiko tällainen mitenkään helposti?

Vastaus

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

Tietoa sivustosta