![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
SQL параметры и дата
KidMan © (2002-10-10 22:20:00)Мастера еще один такой необычный вопрос...
Мне нужно использовать от даты только день и месяц (для определения дня рождения сотрудников)... То есть я составляю SQL запрос который используя день и месяц текущей даты на компе выводил бы записи удовлетворяющие этой дате (но без года конечно же)... Как это можно осуществить... а самое главное как в строке SQL использовать через парам чать даты... Ведь поле само типа Date?
Заранее благодарю!
KidMan (2002-10-12 00:34:00) [1]Когда я создавал DBF то указывал for Windows ... так что...
Нет... спасибо вопросов пока нет!
ВСЕМ СПАСИБО!
sniknik (2002-10-11 23:57:00) [2]меняет. ты можеш использовать либо BDE+Local SQL, либо ADO+Jet для выборок. Функции из MSSql, Oracle, IB и др. тебе недоступны. Способ построения запросов. В локале много ограничений, хотя для джета функций побольше.
и кстати обычный DBF, вовсе необычен. dBase, Fox, Cliper, VisualFox не говоря о разных версиях 3, 4 и.тд. у всех свои "фенечки".
А ломать голову над вариантами только изза того что ты забыл указать никто не хочет, поэтому ответов так мало.
Еще вопросы?
KidMan (2002-10-11 23:37:00) [3]Спасибо всем большое ребята!
Моя вина - забыл указать БД... (((
Обычный DBF под винды...
Это изменяет что то? Если да то скажите плиз ЧТО?
Еще раз спасибо!
Johnmen (2002-10-11 10:41:00) [4]Все ответы бессмысленны, пока автор не укажет тип СУБД !
wed (2002-10-11 10:38:00) [5]Зачем такие сложности ?
select month(ddata), day(ddata) from table
а для параметров
select dname from сотрудники
where
month(ddata)=month(GetDate()) and day(ddata)=day(GetDate())
вот и будут сотрудники у которых сегодня дни рождения
для предупреждения используй day(ddata)=day(GetDate())+3
Лена (2002-10-11 09:23:00) [6]select *
from table
where to_char(data,"dd.mm")= :data_param
Параметр string
И из программы :
Query.ParambyName.asstring := copy(DateToStr(Now),1,5);
Query.Open;
На самом деле реальную дату можно получить разными функциями,
просто я не помню
sniknik (2002-10-10 23:07:00) [7]Sorry поторопился, необходимая функция DATEPART.
sniknik (2002-10-10 22:55:00) [8]используй DATEDIFF и хоть милисекунды выделяй.
DATEDIFF
Returns the number of date and time boundaries crossed between two specified dates.
Syntax
DATEDIFF ( datepart , startdate , enddate )
пример
SELECT DATEDIFF(day, pubdate, getdate()) AS no_of_days
FROM titles
p.s. только не спрашивай о базе, сам не написал этих жутко секретных сведений.