In sql server 2008, how to extract only the year from the date. In DB I have a column for date, from that I need to extract the year. Is there any function for that?
select year(current_timestamp)
SQLFiddle demo
year(table_column)
Example:
select * from mytable where year(transaction_day)='2013'
Simply use
SELECT DATEPART(YEAR, SomeDateColumn)
It will return the portion of a DATETIME type that corresponds to the option you specify. SO DATEPART(YEAR, GETDATE()) would return the current year.
Can pass other time formatters instead of YEAR like
DATEPART(yyyy, date_column) could be used to extract year. In general, DATEPART function is used to extract specific portions of a date value.
year(@date)
year(getdate())
year('20120101')
update table
set column = year(date_column)
whre ....
or if you need it in another table
update t
set column = year(t1.date_column)
from table_source t1
join table_target t on (join condition)
where ....
SQL Server Script
declare @iDate datetime
set @iDate=GETDATE()
print year(@iDate) -- for Year
print month(@iDate) -- for Month
print day(@iDate) -- for Day