Roberts.R Posted February 21, 2011 Report Share Posted February 21, 2011 Sveiki! Es tagad tā mazliet filozofēju un domāju, un gribu saprast, vai manām domām ir pamats, un vai ir par to jēga dusmoties utt :) Temats ir brīvs, bet izteikties tomēr vajadzētu profesionāli. Bieži vien, glabājot datumus un laikus, es izmantoju UNIX timestamp, kas ir 10 int liels. Perfekti noder priekš kaut kādiem foruma ieraksta laikiem utt. Pa visam nesen, uztaisīju useru datubāzi, un īpaši ilgi nedomājot, arī izmantoju šo pašu timestamp, lai saglabātu datus. To es daru tāpēc, ka šādi ir vienkārši veidot vienotas funkcijas, lai izdabūtu attiecīgos datus, izejot tikai no 10 skaitļiem. Bet tagad es sapratu, ka dzimšanas dienām es nevaru izmantot vairs šo metodi, jo var gadīties, ka kāds no lietotājiem ir dzimis pirms 1970 gada, cik plats ir arī šis timestamp standarts. Tāpēc tagad ir jāpārdomā mazliet datu glabāsana, un visticamāk, būs jāglabā prostā varčarā, kas, patiesību sakot, arī ir tikai 10 simbolu liels, piemēram (01-01-1970). Un pa lielam, zinu, ka tie ir sīkumi, un datubāzes izmērs arī nebūs bezgalīgs (šaubos vai piepildīs BIGINT(20) UNSIGNED), bet reāli, ja skaita baitu pie baita, kāda tomēr ir tā atšķirība svarā? INT(10) ir 4 baiti, bet VARCHAR(10) būtu tik, cik viens čarakters viens baits, viens mb čarakters - divi. Right? Quote Link to comment Share on other sites More sharing options...
Aleksejs Posted February 21, 2011 Report Share Posted February 21, 2011 Nu... Datu bāzēs tomēr ir arī Date/Time formāti, kuri lieliski noder, ja jāatlasa, piemēram, visi, kas dzimuši datumā, kas ir bijusi otrā mēneša otrdiena. Quote Link to comment Share on other sites More sharing options...
briedis Posted February 21, 2011 Report Share Posted February 21, 2011 Jap, nav ko *****, ir jālieto datetime formāts :) Kādreiz arī glabāju kā INT (ar <1970 nav problēmas, jo int's ir signed, glabājās kā negatīva vērtība), bet tagad cenšos pāriet tikai uz DATETIME. Es domāju, pietiek paskatīties šo te sarakstu, lai saprastu, ka timestamps te netur līdzi :) http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html Quote Link to comment Share on other sites More sharing options...
Gints Plivna Posted February 21, 2011 Report Share Posted February 21, 2011 Varu tikai pievienoties Alekseja viedoklim, ka nevajag izgudrot divriteni un lietot kaut ko pilnīgi nepiemērotu tam, kam jau sen ir zināms risinājums - datu tips DATE vai DATETIME, vai TIME. Gints Plivna http://datubazes.wordpress.com Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.