powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Informix [игнор отключен] [закрыт для гостей] / datetime + datetime
4 сообщений из 4, страница 1 из 1
datetime + datetime
    #33241561
west151
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может кто поможет решить следующую проблему:

имеется табличка:
CREATE TABLE ds_pending_job( start_datetime INTEGER );
в ней лежит число:
insert into ds_pending_job values(1093057472);

В данном числе закодирована дата/время, следующим выражением start_datetime/(24*60*60)+(7/24)
преобразуем его к виду 12651,4198148148 (дата/время)

Выполняя следующий запрос :

select to_char((to_date('14.12.1970 11:00:00', '%d.%m.%Y %H:%M:%S') + start_datetime/(24*60*60)+(7/24)), '%d.%m.%Y %H:%M:%S')
from ds_pending_job

Получаю результат "14.12.1970 11:00:00" !! почему не суммируется с start_datetime/(24*60*60)+(7/24) ?
В чём может быть проблема ?

Даже неполучается отоброзить start_datetime в формате dd.mm.yyyy hh:mm:ss !!! хотя в формате dd.mm.yyyy получается с помощью функции date !!!!

Есть ли в данном числе, hh:mm:ss ? ЕСТЬ.

Сервер Informix 9.40.UC7
...
Рейтинг: 0 / 0
datetime + datetime
    #33241859
vasilis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
west151
В данном числе закодирована дата/время, следующим выражением start_datetime/(24*60*60)+(7/24)
преобразуем его к виду 12651,4198148148 (дата/время)

Насколько я понял, то в результате своего преобразования ты получил дробное кол-во суток, а не "дата/время"
west151
Выполняя следующий запрос :
select to_char((to_date('14.12.1970 11:00:00', '%d.%m.%Y %H:%M:%S') + start_datetime/(24*60*60)+(7/24)), '%d.%m.%Y %H:%M:%S')
from ds_pending_job
Получаю результат "14.12.1970 11:00:00" !! почему не суммируется с start_datetime/(24*60*60)+(7/24) ?

А откуда функция/сервер знает, какие единицы (минуты, секунды, сутки, месяцы...) ты ей добавляешь к дате ?
И зачем вообще все эти "кодировки", когда есть специально предназначенный тип datetime, а также interval, с которым удобно работать во многих случаях.
west151
В чём может быть проблема ?
Даже неполучается отоброзить start_datetime в формате dd.mm.yyyy hh:mm:ss !!! хотя в формате dd.mm.yyyy получается с помощью функции date !!!!
Есть ли в данном числе, hh:mm:ss ? ЕСТЬ.
Сервер Informix 9.40.UC7
Может тебе помогут следующие функции ?
DBINFO('utc_current') - количество секунд с 1.1.1970
DBINFO('utc_to_datetime', <время в UTC>) - время в секундах с 1.1.1970 превратить в datetime
...
Рейтинг: 0 / 0
datetime + datetime
    #33242459
west151
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vasilis west151
В данном числе закодирована дата/время, следующим выражением start_datetime/(24*60*60)+(7/24)
преобразуем его к виду 12651,4198148148 (дата/время)

Насколько я понял, то в результате своего преобразования ты получил дробное кол-во суток, а не "дата/время"
west151
Выполняя следующий запрос :
select to_char((to_date('14.12.1970 11:00:00', '%d.%m.%Y %H:%M:%S') + start_datetime/(24*60*60)+(7/24)), '%d.%m.%Y %H:%M:%S')
from ds_pending_job
Получаю результат "14.12.1970 11:00:00" !! почему не суммируется с start_datetime/(24*60*60)+(7/24) ?

А откуда функция/сервер знает, какие единицы (минуты, секунды, сутки, месяцы...) ты ей добавляешь к дате ?
И зачем вообще все эти "кодировки", когда есть специально предназначенный тип datetime, а также interval, с которым удобно работать во многих случаях.
west151
В чём может быть проблема ?
Даже неполучается отоброзить start_datetime в формате dd.mm.yyyy hh:mm:ss !!! хотя в формате dd.mm.yyyy получается с помощью функции date !!!!
Есть ли в данном числе, hh:mm:ss ? ЕСТЬ.
Сервер Informix 9.40.UC7
Может тебе помогут следующие функции ?
DBINFO('utc_current') - количество секунд с 1.1.1970
DBINFO('utc_to_datetime', <время в UTC>) - время в секундах с 1.1.1970 превратить в datetime

Использовать datetime и interval неполучится т.к. продукт купленый и соответственно типы данных в используемом репозитории менять нельзя. Селект который привёл в примере в Oracle работает правильно, щас поробую может с DBINFO что выйдет ! Насколько мне извесно то тип datetime представляет из себя дробное число которое при выводе преобразуется к виду dd.mm.yyyy hh:mm:ss или я неправ ?
...
Рейтинг: 0 / 0
datetime + datetime
    #33243051
vasilis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
west151Насколько мне извесно то тип datetime представляет из себя дробное число которое при выводе преобразуется к виду dd.mm.yyyy hh:mm:ss или я неправ ?
DATETIME stores a data value as a contiguous series of fields that represents each time unit (year, month, day, and so forth) in the data type declaration
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Informix [игнор отключен] [закрыт для гостей] / datetime + datetime
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]