I Transact - SQL-frågor , är det ofta nödvändigt att utföra aggregerade funktioner såsom gruppera resultaten efter datum . SQL erbjuder " Date " datatyp för lagring av data som datum och " DateTime " datatyp för lagring av data i en tidsstämpel format , med datum och tid i timmar, minuter och sekunder . Du kan konvertera "datetime " data till en ISO- formaterade datum ( ÅÅÅÅMMDD ) under aggregering för att ta bort den tid partiet . Du kan också dela upp "datetime " uppgifter i enskilda delar med " DatumDel " funktion och grupp genom de delar av datum och tid utan sekunder . Saker du behöver
MS SQL Server 2005 eller senare version
MS SQL Server Management Studio
Visa fler instruktioner
Conversion
1
Starta Microsoft SQL Server Management Studio program och ansluta till SQL Server-databas motor .
2
Öppna en fråga redigeringsfönstret .
3
Formatera din fråga att konvertera " datetime " spela in till en sträng i ISO standard datumformat med ingen tid parti ( ÅÅÅÅMMDD ) . "Åååå" är året , " mm " är månaden och " dd " är datumet . Den " 112 " i "Konvertera " -funktionen anger ISO-format .
CONVERT ( CHAR ( 8 ) , date_field , 112 ) omvandlar " datetime " date_field till en ISO- formaterad sträng av åtta tecken .
CAST ( CONVERT ( CHAR ( 8 ) , date_field , 112 ) AS dATETIME ) omvandlar " datetime " date_field till en ISO formaterad datum utan tid .
vill använda det i GROUP BY -funktionen , du måste formatera den frågan som :
SELECT date_field
FROM tabell
där förhållandena
GROUP BY CAST ( CONVERT ( CHAR ( 8 ) , date_field , 112 ) AS DATETIME ) Addera DatePart
4
Starta MS SQL Server Application Management Studio och ansluter till SQL Server-databas motor .
5
Öppna en fråga redigeringsfönstret .
6
Formatera din fråga så som visas , med hjälp av " DatumDel " -funktionen för att dela datumfältet i dess beståndsdelar . Du skulle använda varje del i " GROUP BY " -funktion , vilket eliminerar de sekunder att utföra en " GROUP BY " utan några sekunder bara , där " dd " är året , " mm " är den månad , " dd " är den dagen , " hh " är en timme och " n " är minut .
SELECT
DatePart (åååå , date_field ) ,
DatePart ( mm , date_field ) ,
DatePart ( dd , date_field ) ,
DatePart ( hh , date_field ) ,
DatePart ( N , date_field ) katalog
FROM tabell
GROUP av
DatePart (åååå , date_field ) ,
DatePart ( mm , date_field ) ,
DatePart ( dd , date_field ) ,
DatePart ( hh , date_field ) ,
DatePart ( N , date_field ) katalog