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, il me faut extraire l'année . Y a-t-il une fonction pour cela?
year(@date)
year(getdate())
year('20120101')
update table
set column = year(date_column)
whre ....
ou si vous en avez besoin dans une autre table
update t
set column = year(t1.date_column)
from table_source t1
join table_target t on (join condition)
where ....
select year(current_timestamp)
Vous pouvez utiliser la fonction year()
dans SQL pour obtenir l'année à partir de la date spécifiée.
Syntaxe:
YEAR ( date )
Pour plus d'informations cochez ici
year(table_column)
Exemple:
select * from mytable where year(transaction_day)='2013'
Script SQL Server
declare @iDate datetime
set @iDate=GETDATE()
print year(@iDate) -- for Year
print month(@iDate) -- for Month
print day(@iDate) -- for Day
---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
DATEPART (yyyy, date_column) peut être utilisé pour extraire l'année. En général, la fonction DATEPART est utilisée pour extraire des parties spécifiques d'une valeur de date.
Simplement utiliser
SELECT DATEPART (YEAR, SomeDateColumn)
Il renverra la partie d'un type DATETIME qui correspond à l'option que vous spécifiez. SO DATEPART (YEAR, GETDATE ()) renvoie l'année en cours.
Peut passer d'autres formateurs de temps au lieu de ANNÉE comme