Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Нужно преобразовать int в datetime. 200810 -> 2008-10  [new]
viktor zelenin
Member

Откуда:
Сообщений: 185
Народ, подскажите пожалуйста как можно переконвертировать значения дат в интегере в формат datetime?
в int обозначение дат выглядит как YYYYMM,
т.е.
200405
200307
199701
199612
и т.д.

а нужно в даты перевести
18 окт 09, 23:59    [7802820]     Ответить | Цитировать Сообщить модератору
 Re: Нужно преобразовать int в datetime. 200810 -> 2008-10  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36824
В дате кроме года и месяца еще и день есть, если что.
19 окт 09, 00:38    [7802846]     Ответить | Цитировать Сообщить модератору
 Re: Нужно преобразовать int в datetime. 200810 -> 2008-10  [new]
iljy
Member

Откуда:
Сообщений: 8711
viktor zelenin,

откройте уже для себя БОЛ наконец.
declare @d int set @d = 200903
select dateadd(m, @d%100 - 1, dateadd(year, @d/100 - 1900,0))
19 окт 09, 00:54    [7802866]     Ответить | Цитировать Сообщить модератору
 Re: Нужно преобразовать int в datetime. 200810 -> 2008-10  [new]
viktor zelenin
Member

Откуда:
Сообщений: 185
iljy,
спасибо, да БОЛ открывал конечно.
рядом висит постоянно окно.
просто работа сложная кипит и иногда вхожу в ступор.
пробовал каст делать, так выдавало даты ажно непонятного будущего.
начал через left пробовать, но споткнулся.
19 окт 09, 01:55    [7802905]     Ответить | Цитировать Сообщить модератору
 Re: Нужно преобразовать int в datetime. 200810 -> 2008-10  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6723
iap
declare @d int set @d = 200903
select Convert(DateTime, Convert(VarChar,@d) + '01')
19 окт 09, 03:09    [7802924]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить