SQL вычитание даты / времени в одно значение - PullRequest
0 голосов
/ 19 октября 2011

У меня есть несколько столбцов:

|  Start             |   END              |  Duration
2008-06-28 18.03.55 | 2008-10-06 01.33.55 |  End - Start

Мой код выглядит так:

SELECT theDelivery,
(char(theDelivery) || ' ' || char(current time)) AS Begin,
(char(theDelivery + 100 DAYS) || ' ' || char(current time + 7 HOURS + 30 MINUTES)) AS End

Вот то, что я подумал о выполнении вычитания ... Но это неправильно. Я знаю, ты не можешь вычесть псевдоним. Есть мысли? ((символ (текущее время + 7 ЧАСОВ + 30 МИНУТ) - (символ (доставка + 100 ДНЕЙ)))


Так что я понял, что с чарсом все не так. Я придумал это, и это было именно то, что я искал:

SELECT theDelivery,
TIMESTAMP(theDelivery, current time) AS Begin
,
TIMESTAMP((theDelivery + 100 DAYS), (current time + 7 HOURS + 30 MINUTES)) AS End,
TIMESTAMP((theDelivery + 100 DAYS), (current time + 7 HOURS + 30 MINUTES)) - TIMESTAMP(theDelivery, current time) AS MyDur

1 Ответ

1 голос
/ 19 октября 2011

Если вы делаете:

((символ (текущее время + 7 ЧАСОВ + 30 МИНУТ) - (символ (срок доставки + 100 ДНЕЙ)))

Вы вычитаете символы. Вы можете попробовать:

date( 
  to_date(
      char(current time + 7 HOURS + 30 MINUTES),
      'YYYY-MM-DD HH.MI.SS'
  ) 
) -
date(
   to_date(
      char(theDelivery + 100 DAYS),
      'YYYY-MM-DD HH.MI.SS'
   )
)

Или в строке:

date( to_date( char(current time + 7 HOURS + 30 MINUTES),'YYYY-MM-DD HH.MI.SS' ) ) - date( to_date(char(theDelivery + 100 DAYS),'YYYY-MM-DD HH.MI.SS') )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...