Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 05.01.2012, 15:38
Mustang666 Mustang666 вне форума
Прохожий
 
Регистрация: 05.01.2012
Сообщения: 3
Репутация: 10
По умолчанию Запрос (ФИО лиц, чьи даты рождения приходятся на указанный месяц)

Добрый день.

Помогите пожалуйста мне в такой ситуации:

Нужно составить запрос (ФИО лиц, чьи даты рождения приходятся на указанный месяц (неделю).)

Paradox, base.db - FIO, Birthday. (Table1 - dbgird1)

Сначала попытался сделать такой запрос: (Но потом узнал, что в Paradoxe нет функции month)

Код:
SELECT FIO, Birthday
FROM base.db 
WHERE month(Birthday) = 8
Ответить с цитированием
  #2  
Старый 05.01.2012, 15:47
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

вот что говорит LOCALSQL.HLP:
Цитата:
EXTRACT function
Returns one field from a date value.

EXTRACT(extract_field FROM column_reference)

Description

Use EXTRACT to return the year, month, or day field from a DATE or TIMESTAMP column. If the column used with the EXTRACT function contains a NULL value, the return value of EXTRACT will be NULL. If the value is not NULL, EXTRACT returns the value for the specified element in the date, expressed as a SMALLINT.

The Extract_Field parameter may contain any one of the specifiers: YEAR, MONTH, DAY, HOUR, MINUTE, or SECOND. The specifiers YEAR, MONTH, and DAY can only be used with DATE and TIMESTAMP columns. The specifiers HOUR, MINUTE, and SECOND can only be used with TIMESTAMP and TIME columns.

SELECT SaleDate,

EXTRACT(YEAR FROM saledate) AS YY,
EXTRACT(MONTH FROM saledate) AS MM,
EXTRACT(DAY FROM saledate) AS DD

FROM Orders

The statement below uses a DOB column (containing birthdates) to filter to those rows where the date is in the month of May. The month field from the DOB column is retrieved using the EXTRACT function and compared to 5, May being the fifth month.

SELECT DOB, LastName, FirstName
FROM People
WHERE (EXTRACT(MONTH FROM DOB) = 5)


Applicability

EXTRACT operates only on DATE, TIME, and TIMESTAMP values. To use EXTRACT on non-date values, first use the CAST function to convert the column to a date type.

Note: while SQL-92 provides the EXTRACT function specifiers TIMEZONE_HOUR and TIMEZONE_MINUTE, these specifiers are not supported in local SQL.
__________________
Пишу программы за еду.
__________________

Последний раз редактировалось NumLock, 05.01.2012 в 15:51.
Ответить с цитированием
Этот пользователь сказал Спасибо NumLock за это полезное сообщение:
Mustang666 (06.01.2012)
  #3  
Старый 05.01.2012, 17:16
Mustang666 Mustang666 вне форума
Прохожий
 
Регистрация: 05.01.2012
Сообщения: 3
Репутация: 10
Радость Edit

NumLock Спасибо большое, но теперь нужно сделать событие Button1Click. Есть на форме Edit1 и Button1.

Т.е. Мы вводим в Edit1 номер месяца, и когда мы щелкаем на кнопку, выводились данные о человеке.

Код:
SELECT Birthday, FIO, Address, Phone
FROM base.db 
WHERE (EXTRACT(MONTH FROM Birthday)=Edit1.Text
Ответить с цитированием
  #4  
Старый 06.01.2012, 08:42
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

один из вариантов:
Код:
Query1.SQL.Text:='SELECT DOB, LastName, FirstName FROM People WHERE (EXTRACT(MONTH FROM DOB) = '+Edit1.Text+')';
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
Этот пользователь сказал Спасибо NumLock за это полезное сообщение:
Mustang666 (06.01.2012)
  #5  
Старый 06.01.2012, 12:08
Mustang666 Mustang666 вне форума
Прохожий
 
Регистрация: 05.01.2012
Сообщения: 3
Репутация: 10
По умолчанию

Цитата:
Сообщение от NumLock
один из вариантов:
Код:
Query1.SQL.Text:='SELECT DOB, LastName, FirstName FROM People WHERE (EXTRACT(MONTH FROM DOB) = '+Edit1.Text+')';

Спасибо большое
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 14:18.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter