Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.03.05;
Скачать: CL | DM;

Вниз

Помогите с запросом   Найти похожие ветки 

 
Yurko   (2004-02-06 11:30) [0]

В таблице есть поля Date_ (дата) и Days_ (целое).
Как выбрать записи, где к Date_ осталось Days_ дней относительно текущей даты?


 
Sandman25 ©   (2004-02-06 11:34) [1]

where date_ + days = текущая дата
если не пропустит, то можно
where cast((cast(date_ as integer)+days) as date) = текущая дата
Если в Access есть что-то типа dateadd(dd, days, date_), то еще лучше.


 
Yurko   (2004-02-06 11:44) [2]

а как в SQL получить текущую дату?


 
Sandman25 ©   (2004-02-06 11:50) [3]

Есть много вариантов, смотрите документацию к Access.
Current_Date
getdate()
today


 
ЮЮ ©   (2004-02-06 11:50) [4]

B MS - GetDate(), может и в Access тоже


 
Yurko   (2004-02-06 12:56) [5]

Ничего не получается!
А как выбрать записи, где к Date_ осталось Days_..0 дней, без учёта года?
Или дайте, пожалуйста, ссылку на соответствующую документацию, нигде не могу найти примеров.


 
Sandman25 ©   (2004-02-06 13:01) [6]

Что значит без учета года?
28 февраля. Сколько остается до 1 марта? 1 день или 2?

Если доступ через BDE, посмотрите EXTRACT в LocalSQL.hlp


 
Yurko   (2004-02-06 13:23) [7]

Доступ через ADO.
Вот, хороший пример придумал:
есть таблица с именами, датами рождения и количеством дней, на протяжении которых надо напоминать, что у человека день рождения.
Как выбрать тех людей к чьему дню рождения осталось Days_..0 дней?
Помогитие, пожалуйста!


 
Sandman25 ©   (2004-02-06 13:25) [8]

Разве в Access нет функций, извлекающих день или месяц из даты?
Day, Month?


 
Yurko   (2004-02-06 14:21) [9]

Все равно, не получается получить текущую дату, Access ругается.


 
Johnmen ©   (2004-02-06 14:24) [10]

Еще раз привожу...:)

Именниники на неделю вперёд
===========================
SELECT * FROM Table
WHERE EXTRACT(DAY FROM Born)+100*EXTRACT(MONTH FROM Born)
BETWEEN
EXTRACT(DAY FROM CAST("TODAY" AS DATE)+1)+
100*EXTRACT(MONTH FROM CAST("TODAY" AS DATE)+1)
AND
EXTRACT(DAY FROM CAST("TODAY" AS DATE)+7)+
100*EXTRACT(MONTH FROM CAST("TODAY" AS DATE)+7)


 
Yurko   (2004-02-06 14:55) [11]

Спасибо!!!


 
Johnmen ©   (2004-02-06 14:58) [12]

Да не за что...
Интерено просто как это "выглядит" для аксеса.


 
Yurko   (2004-02-06 16:37) [13]

Задолбал этот аксес....
пишу:

SELECT Name_,Date_,EXTRACT(DAY FROM Date_) AS DD
FROM Table


а аксес говорит: "Неопознанная ошибка."
если так:

SELECT Name_,Date_
FROM Table


то все нормально.
Чем ему (аксесу) не нравится EXTRACT?


 
Yurko   (2004-02-09 09:56) [14]

Мастера, скажите, пожалуйста, что использовать в Access вместо EXTRACT?


 
paul_k ©   (2004-02-09 10:06) [15]

в Акссесе есть функции
date () текущая дата
DateAdd («interval»; «number»; «date») - дата + интервал
в даном случае можно написать
where DateAdd("dd",Days_,Date_)=date()
или посмотреть в хелпе описание функции DateDiff


 
paul_k ©   (2004-02-09 10:07) [16]

А если хочется идти через тернии по пути
Johnmen © (06.02.04 14:58) [12]
то почитать про функцию DatePart()


 
Johnmen ©   (2004-02-09 10:15) [17]

>paul_k © (09.02.04 10:07)

Это просто схема. В чем тернии ?


 
paul_k ©   (2004-02-09 10:27) [18]

2Johnmen
тернии в том что во многие сервера данных встроены перечисленные мною функции работы с датой. Согласен с тем, что сервер сам выполнит некий процесс сходный с указаннымс Вами. но зачем самому то это расписывать.
2 Yurko
кстати в акссесе если строить запрос в конструкторе есть такая кнопочка "построить выражение" и в построителе очень удобный навигатор по полям / функциям


 
Yurko   (2004-02-09 10:29) [19]

Ну-ну! Не ругайтесь! Способ Johnmen © прекрасно работает в Paradox(BDE), например. Кто виноват, что Access не признает EXTRACT?


 
Yurko   (2004-02-09 10:31) [20]

2 paul_k
Большое спасибо !!!


 
paul_k ©   (2004-02-09 10:36) [21]


> Yurko (09.02.04 10:29) [19]


> Кто виноват, что Access не признает EXTRACT?

Признает.. только он не Extract называется, а DatePert()


 
paul_k ©   (2004-02-09 10:37) [22]

простите DataPart()



Страницы: 1 вся ветка

Текущий архив: 2004.03.05;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.017 c
9-12226
Norlin
2003-08-17 19:43
2004.03.05
Как работать с векторами?


7-12542
Юрий
2003-12-18 00:14
2004.03.05
Работа с дисками


3-12250
RDA
2004-02-10 12:37
2004.03.05
Lookup-поля и справочники


7-12562
BlackTiger
2003-12-17 11:55
2004.03.05
COM2 под Windows98... Где грабли зарыты?


3-12239
Алексей Петухов
2004-02-10 12:58
2004.03.05
invalid BLOB length