![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Составление запроса [D7, IB6.x]
Hadroran © (2008-12-05 16:27:00)Всем привет.
Помогите составить запрос SQL по след.условию.
- Необходимо получить данные таблицы ARRIVAL в которых значение поля S_DATE_ARR типа Date меньше текущей даты на 15.
Спасибо.
Ega23 (2008-12-09 11:54:00) [1]
> Специально посмотрел в конкретной базе - возвращает дату. :о)
Ну тогда вопрос снят. Просто в MSSQL getdate() возвращает именно дату-время.
pavel_guzhanov (2008-12-09 10:58:00) [2]
> а Now возвращает только дату, или дату-время?
Специально посмотрел в конкретной базе - возвращает дату.:о)
Ega23 (2008-12-08 16:46:00) [3]
> Если же
> > меньше текущей даты на 15.
>
> , то
> SELECT * FROM TABLE WHERE FIELD_1 IS NOT NULL AND FIELD_1='NOW'-15
Паша, а Now возвращает только дату, или дату-время?
Ибо если второе, то вероятность получить что-либо в твоём запросе исчезающе мала.
Anatoly Podgoretsky (2008-12-08 16:23:00) [4]Это не говоря уж о том, что вопрос офтопик, никакого отношения к Дельфи не имеет.
Anatoly Podgoretsky (2008-12-08 16:19:00) [5]
> Эх вы, мастера.
Ты слишком на многое расчитываешь, с таким ведением дисскуссии ты должен быть разЮ что мы еще немного шутим, а не оставляем тебя одного в пустыне.
pavel_guzhanov (2008-12-08 16:13:00) [6]немного опоздал :о)
pavel_guzhanov (2008-12-08 16:12:00) [7]SELECT * FROM TABLE WHERE FIELD_1 IS NOT NULL AND ('NOW'-FIELD_1)<15
но это будут те записи, у которых дата отличается от текущей не более чем на 15 дней.
Если же
> меньше текущей даты на 15.
, то
SELECT * FROM TABLE WHERE FIELD_1 IS NOT NULL AND FIELD_1='NOW'-15
Hadroran (2008-12-08 16:06:00) [8]Эх вы, мастера.
SELECT * FROM TABLE WHERE FIELD_1 IS NOT NULL AND (FIELD_1-CURRENT_DATE)<15
спасибо блин.
clickmaker (2008-12-08 15:57:00) [9]> Раньше начинающим было легче ответ получить
возможно, потому что писали не просто "Ошибку выдает", а какую
NOW - функция? может, ее со скобками надо писать?
Hadroran (2008-12-08 15:55:00) [10]Да-а-а. Раньше начинающим было легче ответ получить, а сейчас в мастерах смотрю "остряки" сидят.
Можно просто сказать как если кто знает?
Код пишу такой для отчета:
SELECT * FROM TABLE WHERE FIELD_1 IS NOT NULL AND (FIELD_1-NOW)<15
Ошибку выдает.
Ega23 (2008-12-05 16:58:00) [11]
> Видимо, человек не в курсе, как пишется знак "минус"..:-)
Минус минусу - lupus est.
Отобрать все записи, которые "позже сегодня" - это не значит, что выбрать всё, что меньше Now.
Виталий Панасенко (2008-12-05 16:36:00) [12]
> Сергей М. © (05.12.08 16:32) [2]
>
> В чем затруднение ?
Видимо, человек не в курсе, как пишется знак "минус"..:-)
Ega23 (2008-12-05 16:33:00) [13]опс. Виноват. Мне почему-то MSSQL увиделся.
Для IB не знаю.
Ega23 (2008-12-05 16:32:00) [14]
declare @dt datetime;
Set @dt=cast( Floor(cast(getdate() as numeric(18,12))) as datetime)-15;
Select * from table where cast( Floor(cast(S_DATE_ARR as numeric(18,12))) as datetime)<@dt;
Сергей М. (2008-12-05 16:32:00) [15]В чем затруднение ?