Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.10.2010, 15:28   #1
BeJIuKuu_Hexo4yxa
Пользователь
 
Регистрация: 13.10.2010
Сообщений: 96
По умолчанию FireBird. Как конвертировать Integer в Date и обратно?

Есть сторонняя БД, в ее таблицах дата хранится в формате Integer (а дата, время - в Double).
Существует ли команда, что-нибудь типа IntToDate, чтоб можно было сразу на уровне SQL-запроса сконвертировать?
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете. (Стив Макконнелл)
BeJIuKuu_Hexo4yxa вне форума Ответить с цитированием
Старый 22.10.2010, 20:23   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

рискну предположить, что стандартной такой нет!
Кроме того, это целое число - обычно число дней от какой-то конкретной даты. Вычислить легко. Достатнчно занести известную дату и посмотреть, какое число получилось.
И ещё. Обычно сама СУБД предоставляет механизм преобразования внутреннего представления во внешнее.

т.о. задача решаемая, но, скорее всего, не одной командой.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 23.10.2010, 21:02   #3
BeJIuKuu_Hexo4yxa
Пользователь
 
Регистрация: 13.10.2010
Сообщений: 96
По умолчанию

На клиентской стороне (на С#) я такую написал. На Дельфи есть стандартная. А вот в самой СУБД Firefox никак не найду, хотя скорее всего она там есть
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете. (Стив Макконнелл)
BeJIuKuu_Hexo4yxa вне форума Ответить с цитированием
Старый 23.10.2010, 21:05   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
в ее таблицах дата хранится в формате Integer
Всмысле?
Вообще насколько я помню DateTime разделяется в вещественном так
Date - Целая часть
Time - Остаток
Так что если хочешь получить просто дату - округли. Это будет кол-во дней начиная с 1900 года, если не ошибаюсь.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.10.2010, 22:01   #5
BeJIuKuu_Hexo4yxa
Пользователь
 
Регистрация: 13.10.2010
Сообщений: 96
По умолчанию

Всмысле так и хранится в формате Integer. Не знаю, чем руководствовались разработчики той СУБД (не буду называть банк, чтоб не компрометировать), но там не используются поля типа Date, DateTime и т.п.

Нашел полезную книгу Firebird: руководство разработчика баз данных

Там сказано:
Цитата:
Типы данных времени и даты не могут быть участниками преобразований в типы или из типов SМALLINT, INTEGER, FLOAT, DOUBLE PRECISION, NUМЕRIС, DEClМAL или BLOB.
Сейчас БД под рукой нет, но думаю, должно сработать что-то типа
Код:
SELECT (CAST('31.12.1899' AS DАТЕ)+t.IntField) DateField FROM table t;
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете. (Стив Макконнелл)
BeJIuKuu_Hexo4yxa вне форума Ответить с цитированием
Старый 25.10.2010, 10:10   #6
BeJIuKuu_Hexo4yxa
Пользователь
 
Регистрация: 13.10.2010
Сообщений: 96
По умолчанию

Получилось! Только на слово DATE ругнулось, видимо при копировании из книжки какая-то буква как русская, а не латинская распозналась.
ЗЫ. К сожалению, отредактировать предыдущий пост уже не могу (((
ЗЗЫ. Откликнувшимся спасибо за поддержку
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете. (Стив Макконнелл)
BeJIuKuu_Hexo4yxa вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как конвертировать видео zmey31313 Компоненты Delphi 1 05.01.2010 23:23
Как конвертировать Jpeg > PDF XerSon Помощь студентам 4 10.12.2009 20:25
Как конвертировать видео в Delphi 7.0?? AntonyStar Помощь студентам 2 13.11.2007 19:11
как перевести из integer в real(и обратно), и из real в string(и обратно) Ga-sergey Общие вопросы Delphi 2 08.06.2007 21:13
Как конвертировать в исполняемый код lotus Общие вопросы Delphi 5 11.12.2006 14:17