|
|
|
datetime + datetime
|
|||
|---|---|---|---|
|
#18+
Может кто поможет решить следующую проблему: имеется табличка: 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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2005, 16:24 |
|
||
|
datetime + datetime
|
|||
|---|---|---|---|
|
#18+
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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2005, 17:43 |
|
||
|
datetime + datetime
|
|||
|---|---|---|---|
|
#18+
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 или я неправ ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2005, 08:58 |
|
||
|
datetime + datetime
|
|||
|---|---|---|---|
|
#18+
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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2005, 12:07 |
|
||
|
|

start [/forum/topic.php?fid=44&fpage=57&tid=1608930]: |
0ms |
get settings: |
7ms |
get forum list: |
21ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
32ms |
get topic data: |
10ms |
get forum data: |
6ms |
get page messages: |
57ms |
get tp. blocked users: |
3ms |
| others: | 224ms |
| total: | 366ms |

| 0 / 0 |
