Hvordan Grupper etter Dato Uten Seconds i T-SQL

Hvordan Grupper etter Dato Uten Seconds i T-SQL


I Transact-SQL-spørringer, er det ofte nødvendig å utføre aggregerte funksjoner som gruppering resultatene etter dato. SQL tilbyr "Date" datatype for lagring av data som dato og "Datetime" datatype for lagring av data i et tidsstempel format, med dato og klokkeslett i timer, minutter og sekunder. Du kan konvertere "datetime" data til en ISO formatert dato (ÅÅÅÅMMDD) i løpet av aggregering å fjerne tidsdelen. Du kan også dele de "datetime" data inn i enkeltdeler ved hjelp av "DATEPART" -funksjonen og gruppen av de delene av dato og klokkeslett uten sekunder.

Bruksanvisning

Omdannelse

1 Start Microsoft SQL Server Management Studio-programmet og koble til SQL Server-database motoren.

2 Åpne en spørring editor vinduet.

3 Formater søket for å konvertere "datetime" posten til en streng i ISO-standard datoformat uten tid porsjon (ÅÅÅÅMMDD). "Åååå" er året, "mm" er måneden og "dd" er datoen. Den "112" i "Konverter" funksjonen angir ISO format.

KONVERTER (CHAR (8), DATE_FIELD, 112) scorer på "datetime" DATE_FIELD til en ISO formatert streng av åtte tegn.

CAST (CONVERT (CHAR (8), DATE_FIELD, 112) AS DATETIME) scorer på "datetime" DATE_FIELD til en ISO-formatert dato uten tid.

For å bruke den i GROUP BY-funksjonen, må du formatere den spørringen som:

VELG DATE_FIELD

Fra tabellen

der forholdene

GROUP BY CAST (CONVERT (CHAR (8), DATE_FIELD, 112) AS DATETIME)

DATEPART

4 Start MS SQL Server Management Studio-programmet og koble til SQL Server-database motoren.

5 Åpne en spørring editor vinduet.

6 Formater søket som vist, ved hjelp av "DATEPART" -funksjonen for å splitte datofeltet i sine enkelte bestanddeler. Du vil da bruke hver del i "GROUP BY" funksjon, eliminerer sekunder for å utføre en "GROUP BY" uten sekunder bare, der "åååå" er året, "mm" er måneden, "dd" er dagen, "hh" er timen og "n" er minuttet.

VELGE

DATEPART (åååå, DATE_FIELD),

DATEPART (mm, DATE_FIELD),

DATEPART(dd, date_field),

DATEPART (hh, DATE_FIELD),

DATEPART (n, DATE_FIELD)

Fra tabellen

GRUPPE AV

DATEPART (åååå, DATE_FIELD),

DATEPART(mm, date_field),

DATEPART (dd, DATE_FIELD),

DATEPART (hh, DATE_FIELD),

DATEPART (n, DATE_FIELD)