如何从sql server 2008中只提取一年的date?
在sql server 2008中,如何从date只提取年份。 在数据库我有一个date列,从那我需要提取一年。 有没有什么function?
year(@date) year(getdate()) year('20120101') update table set column = year(date_column) whre ....
或者如果你需要在另一个表中
update t set column = year(t1.date_column) from table_source t1 join table_target t on (join condition) where ....
select year(current_timestamp)
SQLFiddle演示
您可以在sql中使用year()
函数来获取指定date的年份。
句法:
YEAR ( date )
更多信息请点击这里
year(table_column)
例:
select * from mytable where year(transaction_day)='2013'
SQL Server脚本
declare @iDate datetime set @iDate=GETDATE() print year(@iDate) -- for Year print month(@iDate) -- for Month print day(@iDate) -- for Day
DATEPART(yyyy,date_column)可以用来提取年份。 通常,DATEPART函数用于提取date值的特定部分。
---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
简单的使用
SELECT DATEPART(年,SomeDateColumn)
它将返回与您指定的选项相对应的DATETIMEtypes的部分。 SO DATEPART(YEAR,GETDATE())将返回当前年份。
可以通过其他时间格式化程序而不是像YEAR一样
- 天
- 月
- 第二
- 毫秒
- …等等。