Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.01.13;
Скачать: CL | DM;

Вниз

Select в TAdsQuery   Найти похожие ветки 

 
Verba ©   (2003-12-13 13:59) [0]

Всем доброго дня!Есть таблица DBF (Foxpro 2.5). В таблице есть поле "Дата рождения" типа Character.Как используя TAdsQuery.SQL поставить условие на проверку даты рождения в заданном диапазоне?


 
JibSkeart ©   (2003-12-13 14:06) [1]

Хмм можно конвертнуть в DataTime
тоесть сделать
аля-

select * from table where cast(BirdDay as datetime) between
begindate and enddate

но как это делается(cast) в локал базах я не знаю :(
да и смотря еще в каком виде хронятся дата в поле "Дата рождения"


 
Verba ©   (2003-12-13 14:11) [2]

Так вот именно "... Cast(datebirth as datetime)..." не получается, выдается сообщение об ошибке. А дата хранится в виде dd.mm.yyyy, причем специфика такова, что в таблице есть даты вида : "00.00.1948".


 
JibSkeart ©   (2003-12-13 14:18) [3]

мда тут же надо чтонибуть придумывать хитрое.


 
sniknik ©   (2003-12-13 14:30) [4]

надо смотреть документацию 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" будет ошибочной датой. что она обозначает?


 
Verba ©   (2003-12-13 14:37) [5]

Дата,например, "00.00.1946" означает, что нельзя точно указать день и месяц рождения (бывает же такое!), а известен только год. Вот для таких случаев поле "дата рождения" объявлено как CHARACTER. А документации по Advantage у меня нет. Може кто скажет, где найти?


 
JibSkeart ©   (2003-12-13 14:50) [6]

тогда можно выдернуть просто дату
и сравнивать как обычные числа


 
Verba ©   (2003-12-13 14:57) [7]

а как насчет HELP"а по Advantage?


 
JibSkeart ©   (2003-12-13 14:59) [8]

тоесть опять наводки :))

select * from table where cast(substring(birthday,len(birthday)-3,4) as int) between BeginDate and EndDate

где begindate и enddate обычное число

но это в том случае если только фигурирует год

эхх за что я не люблю ентот локал скл то что он какой то
не гибкий :)


 
Verba ©   (2003-12-13 15:11) [9]

"CAST" не проходит. А если необходимо сравнить всю дату при условии, что, допустим, дата рождения нормальная?


 
Aga123456   (2003-12-16 15:04) [10]

Но ведь Help абсолютно свободен как и сам local server на http://solutions.advantagedatabase.com
только там нужна регистрация, свой email указать



Страницы: 1 вся ветка

Текущий архив: 2004.01.13;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.015 c
1-37660
ikivio
2003-12-26 10:42
2004.01.13
Чтение части файла.


3-37502
Nikita
2003-12-15 16:09
2004.01.13
Вопрос по таблицам Paradox


3-37545
ririsha
2003-12-13 21:31
2004.01.13
как связаться с FireBird из Delphi?


1-37783
Agent13
2003-12-29 13:19
2004.01.13
Необычный ControlBar


14-37941
zzet
2003-12-19 22:54
2004.01.13
Share It - кто пользуется сервисом?