|
|
|
Вычитание дат
|
|||
|---|---|---|---|
|
#18+
Пишу вот такой скрипт: declare i TIMESTAMP; execution_time TIMESTAMP; begin execution_time:=sysdate; execution_time:=execution_time-sysdate; DBMS_OUTPUT.PUT_LINE(to_char(execution_time,'dd.mm.yyyy hh24:mi:ss')); end; а он мне выдает ошибку - exception is of wrong type Как вычесть одну дату из другой? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2017, 12:45 |
|
||
|
Вычитание дат
|
|||
|---|---|---|---|
|
#18+
boris_borisych, если от вторника отнимать понедельник, какой тип результата ты ожидаешь получить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2017, 12:46 |
|
||
|
Вычитание дат
|
|||
|---|---|---|---|
|
#18+
boris_borisychа он мне выдает ошибку - exception is of wrong typeНе рано ли тебе профилировать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2017, 12:53 |
|
||
|
Вычитание дат
|
|||
|---|---|---|---|
|
#18+
Судя по ошибке - неверный тип, попробовал вот так: declare execution_time date; begin execution_time:=sysdate; execution_time:=execution_time-sysdate; DBMS_OUTPUT.PUT_LINE(to_char(execution_time,'dd.mm.yyyy hh24:mi:ss')); end; и все равно та же ошибка, хотя тут теперь оба значения даты ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2017, 12:58 |
|
||
|
Вычитание дат
|
|||
|---|---|---|---|
|
#18+
boris_borisych, Разница, что таймстампов, что дат, отнюдь не таймстамп или дата. Читай SQL Reference, там есть табличка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2017, 13:01 |
|
||
|
Вычитание дат
|
|||
|---|---|---|---|
|
#18+
boris_borisych, Разница дат является числом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2017, 13:03 |
|
||
|
Вычитание дат
|
|||
|---|---|---|---|
|
#18+
Есть вопрос, спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2017, 13:12 |
|
||
|
Вычитание дат
|
|||
|---|---|---|---|
|
#18+
Есть вопрос, Если это число, то я пытаюсь выполнить следующий скрипт: select sysdate - (sysdate-0.1) from dual и он выводит 0.1 Что это значит в данном случае? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2017, 15:57 |
|
||
|
Вычитание дат
|
|||
|---|---|---|---|
|
#18+
boris_borisychЕсть вопрос, Если это число, то я пытаюсь выполнить следующий скрипт: select sysdate - (sysdate-0.1) from dual и он выводит 0.1 Что это значит в данном случае? одна десятая суток. читай доку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2017, 16:03 |
|
||
|
Вычитание дат
|
|||
|---|---|---|---|
|
#18+
boris_borisych, в селекте sysdate "выполняется раз" у Вас получилось s-(s-0.1)=s-s+0.1=0.1 (десятая часть сутки, примерно 02:24 часа) .... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2017, 16:20 |
|
||
|
Вычитание дат
|
|||
|---|---|---|---|
|
#18+
Staxпримерно 02:24 часа не примерно, а точно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2017, 16:27 |
|
||
|
Вычитание дат
|
|||
|---|---|---|---|
|
#18+
скрупулёзный самаритянинStaxпримерно 02:24 часане примерно, а точноЛюди бегают туда-сюда по планете и астрономические сутки нестабильны. Поэтому фактическую продолжительность суток периодически корректируют. Например, последняя сутка 2016 года имела продолжительность на секунду больше - 86401. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2017, 16:57 |
|
||
|
Вычитание дат
|
|||
|---|---|---|---|
|
#18+
прыжковый второйскрупулёзный самаритянинпропущено... не примерно, а точноЛюди бегают туда-сюда по планете и астрономические сутки нестабильны. Поэтому фактическую продолжительность суток периодически корректируют. Например, последняя сутка 2016 года имела продолжительность на секунду больше - 86401. мы ведём речь не об астраномическом состоянии, а о системе координат, коя включает в сутки ровно 24 часа и не секундой больше, в часе ровно 60 минут и не секундой больше. С этой точки зрения 1/10 суток всегда 2 часа и 24 минуты. Для компенсации отличия суммы суток от длительности года служит 29 февраля. Оракл оперирует не астрономическими измерениями, а моделями различных рас и вероисповеданий, взяв за равенсто единице ровно одни сутки. Поэтому 1/10 в формате даты оракла - это точно 2 часа и 24 минуты. А то, что в году на 1 секунду больше было - не важно. Год все равно посчитался, как кол-во суток без добавления секунд, поэтому 2016-й год в моделировании оракла на 1 секунду меньше астрономического, но зато кошерен сам в себе и независим от флуктуаций планет, светил и неграмотных гребенщиковых. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2017, 18:41 |
|
||
|
|

start [/forum/topic.php?fid=52&tid=1884911]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
154ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 238ms |
| total: | 470ms |

| 0 / 0 |
