Tauluni sisältää date ja time-tyyppiset kentät ja ongelma on siinä että ne väkisin työntävät default arvoksi vastaavasti 0000-00-00 ja 00-00-00 (pvm ja aika). Näyttää huonolta html-taulukossa! Miten nämä default arvot saa pois?
date ja time-tyyppiset kentät MySQL-taulukossa?
Flash-DJ
2404
0Äänestä
Muut lukivat myös
Odottaa vastausta
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 2
Vanhimmat
Kun luot taulun, niin sallit tyhjät arvot ja jätät oletus arvon pois. Yleensä tyhjä merkitään NULL tai aikoja käsiteltäessä juuri 00... eikä varsinaisesti tyhjänä.
Tosin usein järkevämpää tehdä hakuja jotka jättävät päivämäärättömät rivit pois (aika != '00-00-00')
Tai sitten hakuvaiheessa tai tulostus vaiheessa tarkastat onko arvo toi 00.... ja teet sitten mitä haluat.
Kyselyssä (mikäli aika on 00.. niin korvataa ei aikaa tekstillä, muuten tulee aika.
CASE aika
WHEN '00-00-00' THEN 'Ei aikaa'
ELSE aika
END
Tai sitten ohjelmointikielelläsi perus ehtolauseilla.
Ja miksi pvm ja aika erikseen?
datetime on tähän tarkoitukseen tehty, sitten vain date_format functiolla aika haluamakseen http://dev.mysql.com/doc/mysql/en/date-and-time-functions.html
Näin aikojen vertailustakin tulee helpompaa.
laitoin päivämäärän ja ajan erikseen siksi, että ne oli helpompi pilkkoa osiin explode()-funktiolla, vaikka oishan ne menny yhdessäkin. noh... harjoitukset jatkuu!
--Kiitokset vastauksista!