Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.01.13;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.007 c
14-37901
}|{yk
2003-12-19 11:26
2004.01.13
MSDN


14-37939
Ermek
2003-12-19 02:44
2004.01.13
расширением стандартного компонента Ole Container


1-37707
@tom
2003-12-24 20:28
2004.01.13
Ошибка загрузки файла в RichEdit


7-37961
АСт
2003-10-29 22:54
2004.01.13
Системная информация


14-37845
Undert
2003-12-23 00:53
2004.01.13
Тут как то пролетала тема армии, вот послушайте - не пожалеете!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский