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

Откуда:
Сообщений: 468
Всем привет! Подскажите почему так?
пишу
select
MAX(DATEADD(hour,3,Dates))
from
Log 
where a.Date between '20060228 00:00:00' and  dateadd(day,1,'20060228 00:00:00')

результат выводится
2006-03-01 01:56:15.880
почему он выводит то что уже относится к другим суткам?? я же время указываю 00:00:00 по идее же и должен выводить только то что до этого времени, а все что позже это уже другие сутки пошли
1 мар 06, 10:53    [2402404]     Ответить | Цитировать Сообщить модератору
 Re: Помогите разобраться с выводом данны формата DateTime  [new]
daw
Member

Откуда: Муром -> Москва
Сообщений: 7381

ну, Вы же сами к этой дате 3 часа добавляете...


Posted via ActualForum NNTP Server 1.3

1 мар 06, 10:55    [2402417]     Ответить | Цитировать Сообщить модератору
 Re: Помогите разобраться с выводом данны формата DateTime  [new]
lusinka
Member

Откуда:
Сообщений: 468
так потому что в базе хранится время по гринвичу, мне надо видеть реальное местное время. и мне кажется что то, что я указала в каком виде выводить выбраную запись не влияет на то какую дату и время он вытащит. задано же условие отбора
1 мар 06, 10:59    [2402454]     Ответить | Цитировать Сообщить модератору
 Re: Помогите разобраться с выводом данны формата DateTime  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
Ну так условие отбора Вы задали, записи отобрались, а потом Вы еще три часа добавили, что самой собой перевалило на следующие сутки.
1 мар 06, 11:04    [2402493]     Ответить | Цитировать Сообщить модератору
 Re: Помогите разобраться с выводом данны формата DateTime  [new]
daw
Member

Откуда: Муром -> Москва
Сообщений: 7381

сервер _выбирает_ запись с датой именно из того промежутка, который Вы задали.
но потом Вы добавляете к этой дате 3 часа и результат уже выходит за пределы
этого промежутка.


Posted via ActualForum NNTP Server 1.3

1 мар 06, 11:05    [2402499]     Ответить | Цитировать Сообщить модератору
 Re: Помогите разобраться с выводом данны формата DateTime  [new]
lusinka
Member

Откуда:
Сообщений: 468
как тогда мне правильно сделать?
если убрать эти 3 часа будет время по гринвичу.
а мне надо показывать по московскому?
я уже вся запуталась
1 мар 06, 11:08    [2402529]     Ответить | Цитировать Сообщить модератору
 Re: Помогите разобраться с выводом данны формата DateTime  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
автор
как тогда мне правильно сделать?


А чтор для Вас правильно?! 1 час ночи 1 марта по московскому - это 22 часа 28 февраля по гринвичу.
1 мар 06, 11:10    [2402541]     Ответить | Цитировать Сообщить модератору
 Re: Помогите разобраться с выводом данны формата DateTime  [new]
daw
Member

Откуда: Муром -> Москва
Сообщений: 7381

поиск Вам тоже по московскому времени нужен? тогда так:
select
MAX(DATEADD(hour,3,Dates))
from
Log
where a.Date between dateadd(hh, -3, '20060228 00:00:00')
          and  dateadd(hh, -3, dateadd(day,1,'20060228 00:00:00'))



Posted via ActualForum NNTP Server 1.3

1 мар 06, 11:13    [2402559]     Ответить | Цитировать Сообщить модератору
 Re: Помогите разобраться с выводом данны формата DateTime  [new]
lusinka
Member

Откуда:
Сообщений: 468
мне надо по московскому от 28.02.2006 00:00:00 по 01.03.2006 00:00:00
выбрать максим. время, которое хранится по гринвичу в таблице. и отобразить естественно по московскому времени.=)
1 мар 06, 11:14    [2402566]     Ответить | Цитировать Сообщить модератору
 Re: Помогите разобраться с выводом данны формата DateTime  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
Возьмите запрос от daw и -3 замените на 3.
1 мар 06, 11:18    [2402592]     Ответить | Цитировать Сообщить модератору
 Re: Помогите разобраться с выводом данны формата DateTime  [new]
lusinka
Member

Откуда:
Сообщений: 468
daw


поиск Вам тоже по московскому времени нужен? тогда так:
select
MAX(DATEADD(hour,3,Dates))
from
Log
where a.Date between dateadd(hh, -3, '20060228 00:00:00')
and dateadd(hh, -3, dateadd(day,1,'20060228 00:00:00'))


воо так и надо было=)) спасибочки!! я уже совсем запуталась с временем этим, что туго соображаю.
1 мар 06, 11:18    [2402597]     Ответить | Цитировать Сообщить модератору
 Re: Помогите разобраться с выводом данны формата DateTime  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
pkarklin
Возьмите запрос от daw и -3 замените на 3.


Был не прав.
1 мар 06, 11:22    [2402633]     Ответить | Цитировать Сообщить модератору
 Re: Помогите разобраться с выводом данны формата DateTime  [new]
lusinka
Member

Откуда:
Сообщений: 468
да ничего =)) спасибо за помощь!
1 мар 06, 11:30    [2402694]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить