Dans sql server 2008, comment extraire uniquement l'année de la date. Dans la base de données, j'ai une colonne pour la date, à partir de laquelle je dois extraire l'année. Existe-t-il une fonction pour cela ?
Réponses
Trop de publicités?
Aa.mbi
Points
19
Lalmuni Singh
Points
1
---Lalmuni Demos---
create table Users
(
userid int,date_of_birth date
)
insert into Users values(4,'9/10/1991')
select DATEDIFF(year,date_of_birth, getdate()) - (CASE WHEN (DATEADD(year, DATEDIFF(year,date_of_birth, getdate()),date_of_birth)) > getdate() THEN 1 ELSE 0 END) as Years,
MONTH(getdate() - (DATEADD(year, DATEDIFF(year, date_of_birth, getdate()), date_of_birth))) - 1 as Months,
DAY(getdate() - (DATEADD(year, DATEDIFF(year,date_of_birth, getdate()), date_of_birth))) - 1 as Days,
from users
Aaron S.
Points
21
Il suffit d'utiliser
SELECT DATEPART(YEAR, SomeDateColumn)
Elle renvoie la partie d'un type DATETIME qui correspond à l'option que vous avez spécifiée. Ainsi, DATEPART(YEAR, GETDATE()) renverrait l'année en cours.
Peut passer d'autres formateurs de temps à la place de YEAR comme
- JOUR
- MOIS
- DEUXIÈME
- MILLISECONDE
- ...etc.
- Réponses précédentes
- Plus de réponses