Модераторы: Akella
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> unix_timestamp, Firebird 2.5 
V
    Опции темы
tishaishii
Дата 16.3.2012, 19:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Создатель
***


Профиль
Группа: Завсегдатай
Сообщений: 1262
Регистрация: 14.2.2006
Где: Москва

Репутация: нет
Всего: 8



Нужна дата и время в секундах.
PM MAIL ICQ Skype   Вверх
Akella
Дата 17.3.2012, 11:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



current_timestamp
PM MAIL   Вверх
tishaishii
Дата 18.3.2012, 09:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Создатель
***


Профиль
Группа: Завсегдатай
Сообщений: 1262
Регистрация: 14.2.2006
Где: Москва

Репутация: нет
Всего: 8



currenct_timestamp - понятно. Вот только как его обрабатывать? CAST ... AS BIGINT - не хочет.
Сделал как-то так:
Код
SET TERM ^ ;

create or alter procedure S_UNIX_TIMESTAMP (
    IN_DATETIME DATETIME -- TIMESTAMP
)
returns (
    OUT_RESULT ID)
as
begin
    for
        select
            DATEDIFF(second, cast(se1.OUT_RESULT as datetime), :IN_DATETIME)
        from
            s_entity('const.time.start') as SE1 -- 1970-01-01 00:00:00
        into
            :OUT_RESULT
    do suspend;
end
^

SET TERM ; ^

GRANT EXECUTE ON PROCEDURE S_ENTITY TO PROCEDURE S_UNIX_TIMESTAMP;


Но, думаю, не хорошо это. Лучше UDF.

Это сообщение отредактировал(а) tishaishii - 18.3.2012, 09:55
PM MAIL ICQ Skype   Вверх
Akella
Дата 18.3.2012, 10:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



Что значит обрабатывать? Нужно только секунды получить? Посмотри в сторону Extract
PM MAIL   Вверх
tishaishii
Дата 18.3.2012, 11:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Создатель
***


Профиль
Группа: Завсегдатай
Сообщений: 1262
Регистрация: 14.2.2006
Где: Москва

Репутация: нет
Всего: 8



Секунды, начиная с "1970-01-01 00:00:00".
Может быть, "extract" как-то может помочь? В цикле?
PM MAIL ICQ Skype   Вверх
Akella
Дата 19.3.2012, 21:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



Берешь дату и время, затем умножаешь на количество лет, дней, часов, секунд и т.д.

Добавлено через 2 минуты и 3 секунды
Сколько секунд в сутках? 86400!
Сколько часов в году? 8765.81277!
И т.д.
PM MAIL   Вверх
tishaishii
Дата 22.3.2012, 01:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Создатель
***


Профиль
Группа: Завсегдатай
Сообщений: 1262
Регистрация: 14.2.2006
Где: Москва

Репутация: нет
Всего: 8



Понятно. Но эта же информация уже хранится в "current_timestamp" и, скорее всего, в нужной форме. Не нашёл способа приведения к bigint.
Сделал в UDF.
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Interbase"
Alex

Обязательно указание:

1. Версию InterBase (Firebird, Yaffil)

2. Способа доступа (ADO, BDE, IBX и т.д.)

  • КАК ПРАВИЛЬНО ОФОРМИТЬ КОД - ЗДЕСЬ
  • КАК ПРАВИЛЬНО УКАЗАТЬ ТЕКСТ ОШИБКИ - ЗДЕСЬ
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • FAQ раздела лежит здесь!

Если Вам понравилась атмосфера форума, заходите к нам чаще! С Уважением, Akella.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Firebird, Interbase | Следующая тема »


 




[ Время генерации скрипта: 0.0614 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.