Форум: "Начинающим";
Текущий архив: 2006.06.11;
Скачать: [xml.tar.bz2];
ВнизСтранности с датой в MSSQL Найти похожие ветки
← →
Megabyte © (2006-05-23 11:27) [0]В запросе выдаются некорректные данные. Суть: в секции where условие на дату очень странно действует.
Все зависимости от того, что за дата там стоит, происходит следующее:
1) Если делать в условии поле D.DateDoc > или <> какой-либо дате, то выдает все записи, удволетворяющие остальным условиям;
2) Если D.DateDoc < или = какой-либо дате(хотя по запросу смотрю, что подобная дата существует), то выдает пустую запись.
Бред, конечно,какой-то. Причем использую Query Analizer.
Вот пример кода, кот. выдает все записи, удволетворяющие остальным условиям.select D.Summa as prihod, D.DateDoc
from dbo.Documents D, dbo.Subdividings S
where (D.Debet = "50") and (D.SubcontoDt = S.IdKey) and
(S.Description = "Белорусская") and (D.DateDoc > 2002-02-05 )
and (D.CurrencyKey = 2)
Есть только одно предположение: м.б. дело в формате данных? Я поле типа DateTime сравниваю с датой. Правда в поле DateDoc время везде выглядит так 00:00:00.000 Когда я в запросе писал так: (D.DateDoc > 2002-02-05 00:00:00.000), - запрос не проходил по причине:Line 4: Incorrect syntax near "00".
з.ы. В чем может быть причина подобных глюков? :(
← →
Ega23 © (2006-05-23 11:41) [1]
D.DateDoc > "2002-02-05 00:00:00.000"
?
← →
Плохиш © (2006-05-23 11:41) [2]
> Megabyte © (23.05.06 11:27)
Megabyte? Megabyte? У вас там, что весь детский сад под одним ником ходит?
Уж сколько раз твердилииспользуй параметры
← →
Megabyte © (2006-05-23 12:19) [3]
> Плохиш © (23.05.06 11:41) [2]
Млять. Какие параметры в Query Analizer?
Ega32, ща попробую.
← →
Megabyte © (2006-05-23 12:22) [4]
> Ega23 © (23.05.06 11:41) [1]
> D.DateDoc > "2002-02-05 00:00:00.000"?
Ой, спасибо. :)
А я не втыкаю, что за фигня творится. 2-й день мучаюсь. И хоть бы Query Analizer ругался бы, а то молча хавает без апострофов.
← →
ЮЮ © (2006-05-23 12:26) [5]2002-02-05 == 1995 -й день от 01 января 1900 года (+- несколько дней).
Вряд ли у тебя есть данные за то время. Сервер арифметику тоже неплохо знает.
в Query Analizer слелует писать
DECLARE @OnDate datetime
SET @OnDate = "20020205" / *5 февраля "20020502" - 2 мая */
и далее в запросе использовать @OnDate
Отлаженный запрос делать параметрическим (@ меняем на :) и выполнять в Delphi
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.06.11;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.011 c