sql >> Database teknologi >  >> RDS >> Sqlserver

Får kun måned og år fra SQL DATE

Ud over de forslag, der allerede er givet, er der en anden mulighed, jeg kan udlede af dit spørgsmål:
- Du vil stadig have, at resultatet skal være en dato
- Men du vil "kassere" dagene, timerne , etc
- Efterlader kun et år/måned datofelt

VÆLG DATEADD(MONTH, DATEDIFF(MONTH, 0, ), 0) AS [year_month_date_field]FRA

Dette får antallet af hele måneder fra en basisdato (0) og føjer dem derefter til denne basisdato. Dermed rundes ned til den måned, hvor datoen er i.

BEMÆRK:I SQL Server 2008 vil du stadig have TIME tilknyttet som 00:00:00.000. Dette er ikke helt det samme som at "fjerne" enhver notation af dag og klokkeslæt. Også DAG indstillet til den første. for eksempel. 2009-10-01 00:00:00.000



  1. Indsæt data i en MySQL-database

  2. Hvordan kan SQL Workload Analysis hjælpe dig?

  3. Tilføj sidesortering og søg ved hjælp af jquery datatable

  4. Hvorfor rapporterer MySQL en syntaksfejl på FULL OUTER JOIN?