2011-12-13 9 views
0

SQL Server 2005を使用していて、別の整数に2つの整数を追加したいと考えています。今、私たちは日付フィールドの月と年を合計しています。これは実際に私たちが望むものではありません。代わりに、それらを一緒に追加するが、整数を保持したい。ここで2つの整数をTSQL文の別の整数に追加するには?

は、私たちが今持っているものです。

SELECT 
     YEAR(MeetingDate) + MONTH(MeetingDate) AS DateGroup 

我々はこれを行うにはいくつかの良い方法を学ぶしようとすると20118、20119、201110、201111などを読み取ることがDateGroupをしたいと思います。

select 
    year(MeetingDate) * 100 + month(MeetingDate) as DateGroup 

そうでなければあなたは違った、いくつかのヶ月の治療のために持っている:

答えて

4

はすなわち201108ではなく20118よりも、それは簡単です、1桁の数ヶ月のために先頭にゼロを使用することを検討し

select 
    year(MeetingDate) * case when month(MeetingDate) < 10 then 10 else 100 end 
    + month(MeetingDate) as DateGroup 
+0

パーフェクト、Guffaさん(ありがとうございました)。 – larryq

2

は、あなたの整数をキャストvarcharに追加して、それらを追加してください。

select cast(cast(year(MeetingDate) as varchar(4)) + 
      cast(month(MeetingDate) as varchar(2)) as int) as dategroup 
+0

これは、intではなくvarcharを返します。 – Guffa

+0

@Guffa - 私は質問のその部分を逃した。その月から「0」を取り除く問題にもっと集中した。回答が更新されましたが、私は本当に値に '0'を残しておくのがベストだと思います。 –

関連する問題