web-dev-qa-db-ja.com

どのようにSQL Server 2008の日付から年のみを抽出するのですか?

SQL Server 2008では、日付から年のみを抽出する方法。 DBには日付の列があります。その中から年を抽出する必要があります。そのための機能はありますか?

61
Praveen
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 ....
101
select year(current_timestamp)

SQLFiddleデモ

12
juergen d

指定した日付から年を取得するには、sqlでyear()関数を使用します。

構文:

YEAR ( date )

詳しくは ここをチェック

10
heretolearn
year(table_column)

例:

select * from mytable where year(transaction_day)='2013' 
4
jkarim

SQL Serverスクリプト

declare @iDate datetime
set @iDate=GETDATE()

print year(@iDate) -- for Year

print month(@iDate) -- for Month

print day(@iDate) -- for Day
2
UJS
---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
0
Lalmuni Singh

DATEPART (yyyy、date_column)を使って年を抽出できます。一般に、DATEPART関数は日付値の特定の部分を抽出するために使用されます。

0
Vikdor

次のように年関数の線量

select year(date_column) from table_name

0
Aa.mbi

単に使う

SELECT DATEPART(年、SomeDateColumn)

指定したオプションに対応するDATETIME型の部分が返されます。 SO DATEPART(YEAR、GETDATE())は現在の年を返します。

YEARのように他の時間フォーマッタを渡すことができます

  • 2回目
  • ミリセカンド
  • ...等。
0
Aaron S.