Як в delphi7 sql-запиті зробити умова з використанням функціонально

Як в Delphi7 SQL-запиті зробити умова з використанням функціонально

Як в Delphi7 SQL-запиті зробити умова з
використанням функції: є поле Date (формату "DD.MM.YYYY") - в ньому дати. Потрібно відібрати записи, у яких місяць = поточному.
Підкажіть, будь ласка, як це зробити.

where to_char (DATE) like "% .08.%"

ну і замість 08 підставляй номер поточного місяця

для MSSQL:
where month (date) = month (getdate ())
або
where datepart (mm, date) = datepart (mm, getdate ())

цей запит можна використовувати в Дельфах для MS SQL Server (там є ф-я Month).
SELECT * FROM Table WHERE Month (DATEFIELD) = Month (: date)

Перепрошую, не зовсім запрацювало - пише, що Invalid use of keyword month (Date)

Замість date треба написати ім'я поля. Якщо поле називається date, треба його перейменувати - не варто використовувати зарезервоване слово в якості ідентифікатора.

вся справа в чарівних бульбашках, без них ні один запит не запрацює.

і зовсім не залежить від типу SQL server-а (скажуть таке не вір!).

p.s. бульбашки продаються практично в будь-якому магазині.

Природно, поле називається у мене "BirthDate"
в запиті у мене було так:
where month (BirthDate) = month (getdate ())

DVP1 (21.08.03 11:27) [11]
см. [6]
ЗИ:
- доктор мене всі ігнорують.
- наступного

; Про (((
нє здогадався. тоді з сумом маю вам повідомити - завдання в вашому виконанні не має рішення.

To Семен Сорокін:
SQL-server відсутня, а яке СУБД треба, власне кажучи, замість SQL-server "a?

Спеціально СУБД не встановлювали, а працюю я з dBase.

попрообуй, начебто xBase підтримує month і date
where month (BirthDate) = month (date ())

Знову пише що Invalid use of keyword month (BIRTHDATE),
а причому тут xBase? - до 1С ця програма ніяк не відноситься

як варіант:
where birthdate>: date1 and birthdate <:date2
де date1 - останнє число попереднього місяця, а date2 - перше число наступного місяця :))

> Спеціально СУБД не встановлювали, а працюю я з dBase.
ну хоч щось конкретне, можна ще припустити що використовується BDE, і послати. в Local SQL help. ; О))

де знайдеться приблизно наступне
SELECT DOB, LastName, FirstName
FROM People
WHERE (EXTRACT (MONTH FROM DOB) = 5)
(Можеш використовувати, копірайтів немає; о)))

WHERE (EXTRACT (MONTH FROM BIRTHDATE) = 5) - так працює, але у мене замість "5" повинен бути поточний місяць-як його отримати в запиті?

передавай значення з Дельфах (наприклад параметром), в Local SQL немає функції поточної дати.

(Можна звичайно по іншому, поміняти движок на Jet наприклад, там є, але чи варто?)

Схожі статті