Zināšanu bāze

DATE un TIME datu tipi Microsoft SQL Server 2008

Iesākot iepazīšanos ar jauno Microsoft SQL Server 2008 iespējām, gribētos akcentēt uzmanību uz diviem jauniem datu tipiem (DATE, TIME). Pēc savas pieredzes, ikdienā ir liela vajadzība atlasīt datus pēc datuma, kur netiek ņemts vērā laiks. Strādājot ar iepriekšējām Microsoft SQL Server versijām pastāvēja vismaz divi varianti problēmas atrisinājumam:

  • Nosūtīt un saglabāt datus atsevišķā lauka, kā laiku norādot 00:00:00.
  • Datu atlases vaicājumos veikt manipulācijas ar DATETIME lauka saturu.

Ideālās pasaules gadījumā, pirmais gadījums atrisina visas problēmas, bet atgriežoties pie realitātes, pastāv iespēja ierakstīt datumu ar laiku. Otrais gadījums uzliek par pienākumu jūsu rakstītajos vaicājumos izmantot visai dīvainas manipulācijas ar datiem, piemēram ( CAST(CONVERT(CHAR(8), GETDATE(), 112) AS DATETIME)). Visai neērts pasākums un diez vai tas nāk par labu ātrdarbībai.

Atgriežoties pie jauniem tipiem, zemāk īss skripts, kas demonstrē jauno tipu stipro pusi.

DECLARE @date DATE, @time TIME

SET @date = GETDATE ()

SET @time = GETDATE ()

SELECT @date

SELECT @time

Kā zināms, funkcija "GETDATE ()" atgriež datumu un laiku, bet to noglabājot mainīgajos ar jauniem tipiem, iegūstam vēlamo rezultātu.

2008-02-13 00:00:00.000    

15:03:02.6430000

To pielietošanas iespējas ir acīmredzamas. Tiek novērsta iespēja noglabāt kļūdainus datus, vienkāršojās darbības ar datu atlasi.


Posted Feb 13 2008, 03:23 PM by andrejs.mamontovs
Filed under:

Comments

valdis.iljuconoks wrote re: DATE un TIME datu tipi Microsoft SQL Server 2008
on 02-13-2008 22:59

rowversion arī ir interesants datu tips :) izmanto LINQ optimistiskās konkurences nodrošināšanai.

andrejs.mamontovs wrote re: DATE un TIME datu tipi Microsoft SQL Server 2008
on 02-14-2008 9:44

Obligāti apskatīsim arī šo iespēju :)

ilja.mihailovs wrote re: DATE un TIME datu tipi Microsoft SQL Server 2008
on 02-15-2008 0:52

a vai C# enumos ir paradījies DBType.Time?

andrejs.mamontovs wrote re: DATE un TIME datu tipi Microsoft SQL Server 2008
on 02-15-2008 9:37

Pārsteigums, tipu pārskaitījums jau ir papildināts .NET 2.0

DbType.Date

DbType.Time u.t.t.

Vienīgais, vel nebija izdevības pārbaudīt to darbību:)

janis.baumanis wrote re: DATE un TIME datu tipi Microsoft SQL Server 2008
on 02-18-2008 14:16

ļoti interesanti būtu uzzināt arī par jauno datatipu - FILESTREAM. Vai tie skaitās free Expression versijas 4GB DB izmēra ierobežojumā un vai tie arī sinhronizējas starp DB izmantojot standarta sinhronizāciju.

Izvilkums iz Latvijas blogiem… « Datub??zu resurss latviski wrote Izvilkums iz Latvijas blogiem… « Datub??zu resurss latviski
on 03-24-2008 0:21

Pingback from  Izvilkums iz Latvijas blogiem… « Datub??zu resurss latviski

Add a Comment

(obligāts)  
(brīvizvēles)
(obligāts)  
Remember Me?