Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Составление запроса [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]

В чем затруднение ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо