Tātad mana problēma bija tā, ka datums tiek glabāts kopā ar laiku, bet man vajag tikai datuma vērtību (bez laika vērtības).
Šajā gadījumā man gribās noteikti piebilst, ka SQL 2008 ir jauns datu tips Date, līdz ar to manis aprakstīto situāciju var atrisināt elegantāk.
Risinājums ko es izmantoju datuma iegūšanai no DateTime lauka (laiku uzstādod uz 00:00:000):
Select Cast(Floor(Cast(GetDate() As Float)) As DateTime)Jāpiezīmē, ka idejas autors diemžēl neesmu, risinājumu atradu šeit- arī pamatojumu kādēļ tieši tā un ne savādāk no ātrdarbības viedokļa (bet redzēts arī citur). Un vēlreiz vēlos uzvērt, ka SQL 2008 gadījumā ieteiktu padomāt par labākiem variantiem.
Rezultāts izskatās šādi (divi vaicājumi- pirmais atgriež datumu ar laiku, otrais- bez laika):
Visbeidzot- kur atrast citas visai noderīgas funkcijas darbam ar datumiem:
- Estētiski briesmīga, bet saturiski interesanta lapa (sevišķi uz beigām) atrodama šeit. Tiek aprakstīts, kā iegūt, piemēram, iepriekšējā mēneša pirmo dienu, pēdējo mēneša dienu utt.
- Glītāka lapa, kas principā ļoti līdzīgas iepriekšējai, bet mazāk satura (kas, iespējams, ir kvalitatīvāks) pieejama šeit.
- Nu jā, šajā emuārā arī šis tas par datumiem: Kura nedēļas diena? un Piemērs: Funkcija, lai iegūtu datumus laika intervālā Un iespējams parādīsies citi raksti- skatīties pēc etiķetes.
Nav komentāru:
Ierakstīt komentāru