Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как получить количество дней до даты SQL Access 
:(
    Опции темы
ivanfr
Дата 3.10.2012, 07:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 83
Регистрация: 1.4.2009

Репутация: нет
Всего: нет



Помогите разобраться с  формированием подобных запросов и написать запрос.
В продолжение темы http://forum.vingrad.ru/forum/topic-355083...язная.html

Задача следующая, есть таблица (Key_User), в которой есть столбец[Valid_to] с датой(окончание срока дейсвия сертификата), хочу получить информацию по всем ключам в таблице у которых срок окончания через (25, 24, 23, 22,.....1) дней сертификат закончит свое действие. Запросик я буду делать каждый день.
-------------------------------------------------------------------------------
№|serial nombe|....|   valid_to  | осталось дней до окончания|
-------------------------------------------------------------------------------
1 |123               |...|09.10.2012|                        6                      |
-------------------------------------------------------------------------------
2 |124               |...|15.10.2012|                        12                    |
-------------------------------------------------------------------------------
 
Смотрел в сети нашёл примеры но с датами рождения, не смог разобраться.
 
Привожу найденные примеры
Код

SELECT AD_User.Name, C_BPartner.Name, AD_User.Birthday,
31*(MONTHS_BETWEEN (CURRENT_DATE, AD_User.Birthday)-
12*(EXTRACT (YEAR FROM CURRENT_DATE)-EXTRACT (YEAR FROM AD_User.Birthday)-1)) FROM AD_User, C_BPartner
WHERE AD_User.C_BPartner_Id = C_BPartner.C_BPartner_Id
AND (31*(MONTHS_BETWEEN (CURRENT_DATE, AD_User.Birthday)-
12*(EXTRACT (YEAR FROM CURRENT_DATE)-EXTRACT (YEAR FROM AD_User.Birthday)-1)))<=7


Код

SELECT Дата from [Таблица] 
where (DateSerial(Year(Date()),Month(Дата),Day(Дата)) -Date() between 1 and  7)  or 
(DateSerial(Year(Date())+1,Month(Дата),Day(Дата)) -Date() between 1 and  7)


Код

SELECT name,birthday FROM main WHERE MONTH(birthday) = MONTH(CURRENT_DATE) AND DAYOFMONTH(birthday) > 
DAYOFMONTH(CURRENT_DATE) OR MONTH(birthday) = IF(MONTH(CURRENT_DATE) 1 = 13,1,MONTH(CURRENT_DATE) 1) AND 
DAYOFMONTH(birthday) < DAYOFMONTH(CURRENT_DATE)


Пытаюсь  составить запрос следеующим образом, но не получается
Код

  DataModule1.ADOQuery1.SQL.Clear;
  DataModule1.ADOQuery1.SQL.Text:='SELECT *'    
                                 +'FROM Key_User '
                                 +'WHERE MONTH(Valid_To) = MONTH(CURRENT_DATE) AND DAYOFMONTH(Valid_To) > DAYOFMONTH(CURRENT_DATE)'
                                 +'OR MONTH(Valid_To) = IF(MONTH(CURRENT_DATE) 1 = 25,1,MONTH(CURRENT_DATE) 1)'
                                 +'AND DAYOFMONTH(Valid_To) < DAYOFMONTH(CURRENT_DATE)';

  DataModule1.ADOQuery1.ExecSQL;

или с этим
Код

SELECT * from [Key_User] 
where (DateSerial(Year(Date()),Month(Valid_To),Day(Valid_To)) -Date() between 1 and  25)  or 
(DateSerial(Year(Date())+1,Month(Valid_To),Day(Valid_To)) -Date() between 1 and  25)

Прошу помощи с разъяснениям, почему у меня не получается? 
PM MAIL   Вверх
kami
Дата 3.10.2012, 09:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 3
Всего: 72



Код

SELECT *, (ValidTo-DATE()) AS 'Дней осталось' FROM t1 WHERE (ValidTo-Date()) BETWEEN 1 and 25



Это сообщение отредактировал(а) kami - 3.10.2012, 09:42
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.1020 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.