![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Select в TAdsQuery [D5, dBase, FoxPro]
Verba © (2003-12-13 13:59:00)
Всем доброго дня!Есть таблица DBF (Foxpro 2.5). В таблице есть поле "Дата рождения" типа Character.Как используя TAdsQuery.SQL поставить условие на проверку даты рождения в заданном диапазоне?
Aga123456 (2003-12-16 15:04:00) [1]
Но ведь Help абсолютно свободен как и сам local server на http://solutions.advantagedatabase.com
только там нужна регистрация, свой email указать
Verba (2003-12-13 15:11:00) [2]
"CAST" не проходит. А если необходимо сравнить всю дату при условии, что, допустим, дата рождения нормальная?
JibSkeart (2003-12-13 14:59:00) [3]
тоесть опять наводки :))
select * from table where cast(substring(birthday,len(birthday)-3,4) as int) between BeginDate and EndDate
где begindate и enddate обычное число
но это в том случае если только фигурирует год
эхх за что я не люблю ентот локал скл то что он какой то
не гибкий :)
Verba (2003-12-13 14:57:00) [4]
а как насчет HELP"а по Advantage?
JibSkeart (2003-12-13 14:50:00) [5]
тогда можно выдернуть просто дату
и сравнивать как обычные числа
Verba (2003-12-13 14:37:00) [6]
Дата,например, "00.00.1946" означает, что нельзя точно указать день и месяц рождения (бывает же такое!), а известен только год. Вот для таких случаев поле "дата рождения" объявлено как CHARACTER. А документации по Advantage у меня нет. Може кто скажет, где найти?
sniknik (2003-12-13 14:30:00) [7]
надо смотреть документацию T AdsQuery, должно быть описано.
ведь везде по разному
еще вариант в дополнение к > JibSkeart © (13.12.03 14:06) [1]
Dim MyDate, MyShortDate, MyTime, MyShortTime
MyDate = "February 12, 1969" " Define date.
MyShortDate = CDate(MyDate) " Convert to Date data type.
MyTime = "4:35:47 PM" " Define time.
MyShortTime = CDate(MyTime) " Convert to Date data type.
это для Jet подойдет(можно и dBase, FoxPro им открыть)
но "00.00.1948" будет ошибочной датой. что она обозначает?
JibSkeart (2003-12-13 14:18:00) [8]
мда тут же надо чтонибуть придумывать хитрое.
Verba (2003-12-13 14:11:00) [9]
Так вот именно "... Cast(datebirth as datetime)..." не получается, выдается сообщение об ошибке. А дата хранится в виде dd.mm.yyyy, причем специфика такова, что в таблице есть даты вида : "00.00.1948".
JibSkeart (2003-12-13 14:06:00) [10]
Хмм можно конвертнуть в DataTime
тоесть сделать
аля-
select * from table where cast(BirdDay as datetime) between
begindate and enddate
но как это делается(cast) в локал базах я не знаю :(
да и смотря еще в каком виде хронятся дата в поле "Дата рождения"