Хороший способ добавить два целых числа в другое целое в выражении TSQL? - PullRequest
0 голосов
/ 14 декабря 2011

Мы используем SQL Server 2005 и хотим добавить два целых числа в другое.Прямо сейчас мы суммируем месяц и год поля даты, что не совсем то, что мы хотим.Вместо этого мы хотели бы добавить их вместе, но сохранить целое число.

Вот что мы имеем сейчас:

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

Мы хотели бы, чтобы DateGroup прочитала 20118, 20119, 201110, 201111 и т. Д. Попытка научиться некоторым хорошим способам сделать это.

Ответы [ 2 ]

4 голосов
/ 14 декабря 2011

Подумайте об использовании начального нуля для однозначных месяцев, т. Е. 201108, а не 20118, тогда все просто:

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

В противном случае вы должны относиться к нескольким месяцам иначе:

select
   year(MeetingDate) * case when month(MeetingDate) < 10 then 10 else 100 end
   + month(MeetingDate) as DateGroup
2 голосов
/ 14 декабря 2011

Приведите ваши целые числа к varchar, а затем добавьте их вместе.

select cast(cast(year(MeetingDate) as varchar(4)) + 
            cast(month(MeetingDate) as varchar(2)) as int) as dategroup
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...