Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Дата в интежере, как с ней работать?  [new]
GaZone
Member

Откуда:
Сообщений: 67
20091102 - дата записана в таком виде. Как её сравнить с GETDATE()?
2 ноя 09, 16:49    [7872460]     Ответить | Цитировать Сообщить модератору
 Re: Дата в интежере, как с ней работать?  [new]
Ken@t
Member

Откуда: 大地
Сообщений: 3264
забавный народец.
cast(cast( 20091001 as varchar(10)) as datetime) = DATEADD(day,0,DATEDIFF(DAY,0,GETDATE())
2 ноя 09, 16:54    [7872512]     Ответить | Цитировать Сообщить модератору
 Re: Дата в интежере, как с ней работать?  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
Если я правильно понял, где месяц а где день:
declare @i int
set @i = 20091102

select convert(datetime, cast(@i as char(8)), 112) as result

result
-----------------------
2009-11-02 00:00:00.000

(1 row(s) affected)
а дальше сравнивайте с чем хотите
2 ноя 09, 16:54    [7872515]     Ответить | Цитировать Сообщить модератору
 Re: Дата в интежере, как с ней работать?  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
DECLARE @FromDate INT, @ToDate INT;
SELECT @FromDate=20091101, @ToDate=20091201;
SELECT *
FROM [Table]
WHERE [DateTimeField]>=STR(@FromDate) AND [DateTimeField]<STR(@ToDate); /*Все данные за ноябрь*/
2 ноя 09, 17:26    [7872795]     Ответить | Цитировать Сообщить модератору
 Re: Дата в интежере, как с ней работать?  [new]
Mix
Member

Откуда:
Сообщений: 160
Да так и сравнивайте - дата формата 'YYYYMMDD' - это нормальная дата datetime MS SQL, равная 0 часам этого дня.

select case when getdate()>'20091102' then 1 else 0 end

-------------------------------------------------
Не корысти ради, а токмо во имя поиска благодати.
3 ноя 09, 16:01    [7877796]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить