Troncare le date in SQL Server con DATETRUNC
Necessità strana in realtà, ma mi è capitato di dover troncare delle date.
In un caso specifico l'ho fatto direttamente da query; in SQL Server possiamo farlo con DATETRUNC!
Negli esempi, per la data di partenza, ho usato GETDATE per semplicità, ma potete usare quello che volete.
La funzione richiede dua parametri:
- datepart -> come vogliamo troncare la data
- date -> la data da troncare
Il primo parametro accetta questi valori:
datepart | abbr |
---|---|
year |
yy , yyyy |
quarter |
qq , q |
month |
mm , m |
dayofyear |
dy , y |
day |
dd , d |
week |
wk , ww |
iso_week |
isowk , isoww |
hour |
hh |
minute |
mi , n |
second |
ss , s |
millisecond |
ms |
microsecond |
mcs |
Ecco un esempio:
SELECT DATETRUNC(YEAR, GETDATE()) AS 'YEAR'
,DATETRUNC(MONTH, GETDATE()) AS 'MONTH'
,DATETRUNC(WEEK, GETDATE()) AS 'WEEK'
,DATETRUNC(DAYOFYEAR, GETDATE()) AS 'DAY OF YEAR'
,GETDATE();
Enjoy!
database sql server datetrunc getdate
Commentami!