Форум: "Базы";
Текущий архив: 2002.02.04;
Скачать: [xml.tar.bz2];
ВнизSQL Найти похожие ветки
← →
roman001 (2002-01-05 21:15) [0]Господа, подскажите есть ли в стандартном SQL (для TQuery)
какие-нибудь функции работы с датами, как например выделить
день, год,...
← →
roottim (2002-01-06 14:13) [1]вообще говоря это не дело стандарта sql
такое делается либо сторедами... как дополнение
либо просто пользуйся апи!
например такой функцией.... вообщем см нелп по нему
int GetDayFromDate(LPSTR szDate);
← →
Anatoly Podgoretsky (2002-01-06 15:56) [2]Начнем с того, какая база?
Или какой стандарт ты имеешь ввиду, их более одного.
Например в SQL-92 есть функция Extract.
← →
Romul (2002-01-06 17:20) [3]В СКЛ хрен знает, а в Delphi DecodeDate(Date:TdateTime; Year:Word; Month:Word; Day:Word); Пишу на память поэтому посмотри Хэлп. Спроси конкретнее, я вот например MSSQL2000 юзаю поэтому почти все глюки при работе с датами знаю.
← →
roman001 (2002-01-06 17:49) [4]Например, для сервера MySQL запрос "SELECT YEAR(поле типа DATE) FROM Таблица" вытаскивает год из даты. Можно ли сделать
подобный запрос для обычной парадоксовской базы uses TQuery, такой же запрос здесь НЕ срабатывает?
Extract???
← →
Romul (2002-01-06 18:10) [5]Так нет, погоди, если в Query написать запрос типа
ADOQuery.SQL.Add("Select Year(WorkTill) from tratata where...");
то все работает так как тебе и надо, а с Paradox х.з.
← →
roman001 (2002-01-07 19:53) [6]Спасибо, буду думать
← →
Павел Козловский (2002-01-07 22:24) [7]В Парадоксе пишем так:
Год: SELECT EXTRACT(YEAR FROM MyTable."Mydate") AS YYYY FROM MyTable
Месяц: SELECT EXTRACT(MONTH FROM MyTable."Mydate") AS MM FROM MyTable
Ну а день: SELECT EXTRACT(DAY FROM MyTable."Mydate") AS DD FROM MyTable
← →
panov (2002-01-08 07:22) [8]roman001 (05.01.02 21:15)
В стандарте SQL вроде как таких функций нет,
Но ты всегда можешь работать с ними уже на стороне приложения, не задумываясь, как хранятся даты в БД.
Поле Date есть, как правило, во всех БД, а вот с Time проблемы.
По крайней мере, я знаю один такой формат - DBF.
Поэтому, если программу нужно спроектировать под начально неизвестный тип БД, то лучше всего (по моему мнению) использовать под хранение даты и времени символьные поля.
Например,
20011229082233
← →
Anatoly Podgoretsky (2002-01-08 08:05) [9]panov © (08.01.02 07:22)
"В стандарте SQL вроде как таких функций нет,"
SQL-92
← →
panov (2002-01-08 08:19) [10]>Anatoly Podgoretsky © (08.01.02 08:05)
Возможно, но не все реализации СУБД поддерживают такой тип даных как Date.
>roman001 (05.01.02 21:15)
Рекомендую почитать:
http://klariosha.kemtel.ru/DOC/OSBD/contents.htm
"Основы современных баз данных"
С.Д. Кузнецов, информационно-аналитические материалы
Центра Информационных Технологий
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.02.04;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.004 c