Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

SQL [D5, ]


roman001 ©   (2002-01-05 21:15:00) 

Господа, подскажите есть ли в стандартном SQL (для TQuery)
какие-нибудь функции работы с датами, как например выделить
день, год,...


panov   (2002-01-08 08:19:00) [1]

>Anatoly Podgoretsky © (08.01.02 08:05)
Возможно, но не все реализации СУБД поддерживают такой тип даных как Date.
>roman001 (05.01.02 21:15)

Рекомендую почитать:
http://klariosha.kemtel.ru/DOC/OSBD/contents.htm
"Основы современных баз данных"
С.Д. Кузнецов, информационно-аналитические материалы
Центра Информационных Технологий


Anatoly Podgoretsky   (2002-01-08 08:05:00) [2]

panov © (08.01.02 07:22)
"В стандарте SQL вроде как таких функций нет,"

SQL-92


panov   (2002-01-08 07:22:00) [3]

roman001 (05.01.02 21:15)
В стандарте SQL вроде как таких функций нет,
Но ты всегда можешь работать с ними уже на стороне приложения, не задумываясь, как хранятся даты в БД.
Поле Date есть, как правило, во всех БД, а вот с Time проблемы.
По крайней мере, я знаю один такой формат - DBF.

Поэтому, если программу нужно спроектировать под начально неизвестный тип БД, то лучше всего (по моему мнению) использовать под хранение даты и времени символьные поля.

Например,
20011229082233


Павел Козловский   (2002-01-07 22:24:00) [4]

В Парадоксе пишем так:
Год: 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


roman001   (2002-01-07 19:53:00) [5]

Спасибо, буду думать


Romul   (2002-01-06 18:10:00) [6]

Так нет, погоди, если в Query написать запрос типа
ADOQuery.SQL.Add("Select Year(WorkTill) from tratata where...");
то все работает так как тебе и надо, а с Paradox х.з.


roman001   (2002-01-06 17:49:00) [7]

Например, для сервера MySQL запрос "SELECT YEAR(поле типа DATE) FROM Таблица" вытаскивает год из даты. Можно ли сделать
подобный запрос для обычной парадоксовской базы uses TQuery, такой же запрос здесь НЕ срабатывает?
Extract???


Romul   (2002-01-06 17:20:00) [8]

В СКЛ хрен знает, а в Delphi DecodeDate(Date:TdateTime; Year:Word; Month:Word; Day:Word); Пишу на память поэтому посмотри Хэлп. Спроси конкретнее, я вот например MSSQL2000 юзаю поэтому почти все глюки при работе с датами знаю.


Anatoly Podgoretsky   (2002-01-06 15:56:00) [9]

Начнем с того, какая база?
Или какой стандарт ты имеешь ввиду, их более одного.
Например в SQL-92 есть функция Extract.


roottim   (2002-01-06 14:13:00) [10]

вообще говоря это не дело стандарта sql
такое делается либо сторедами... как дополнение
либо просто пользуйся апи!
например такой функцией.... вообщем см нелп по нему
int GetDayFromDate(LPSTR szDate);


Наверх

Титульная страница Поиск, карта сайта Написать письмо