Как я могу преобразовать дату в char, а затем в число? - PullRequest
0 голосов
/ 09 мая 2020

Пожалуйста, помогите решить эту задачу. Мне нужно преобразовать дату в char, а затем в число, чтобы я мог выполнить операцию арифметики c и разделить дату на 2.

select (sysdate+30+30+89)/2 from dual;

Этот запрос не работает, и я не знаю, как я может преобразовать дату в число.

Ответы [ 2 ]

1 голос
/ 09 мая 2020

Единственная разумная причина, которую я могу придумать для того, чтобы сделать что-то подобное, - это получить середину двух дат, где одна - sysdate.

Если это то, что вы пытаетесь сделать, вычтите даты и разделите на 2. Деление интервала пополам имеет смысл. Затем добавьте полученный интервал обратно к одной из дат.

Например:

select date '2020-01-01' + (sysdate - date '2020-01-01') / 2
from dual
0 голосов
/ 10 мая 2020

Исходя из понимания вопроса, думаю, вам нужен текущий день года для выполнения арифметики c операция

  SELECT (to_number(to_char(sysdate,'DDD'))+30+30+89)/2 from dual;
...