Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.03.05;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.008 c
14-12522
NeyroSpace
2004-02-11 16:53
2004.03.05
Как сделать консольное прилодение, кот. взаимодействует с *.bat?


1-12416
Elast
2004-02-24 15:59
2004.03.05
Debug


1-12411
Budy
2004-02-22 22:11
2004.03.05
TMemo


3-12237
lucky4me
2004-01-29 13:48
2004.03.05
TDBGrid: Как выделить строку программным путем?


3-12254
gsvserg
2004-02-09 13:20
2004.03.05
dbgrid





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский