Функция DateAdd в pl/sql

Как видно из заголовка, я ищу функцию в pl /sql, которая делает что-то похожее на функцию DateAdd. Я искал и нашел функцию add_months, но мне бы очень хотелось, чтобы она была немного более переменной, поскольку мне нужно иметь возможность добавлять минуты, часы, дни и т. Д.

2 ответа

Решение

Похоже, не так много решений:

PL / SQL позволяет выполнять арифметические операции непосредственно над переменными даты. Вы можете добавлять числа к дате или вычитать числа из даты. Чтобы переместить дату на один день в будущем, просто добавьте 1 к дате, как показано ниже:

hire_date + 1

Вы даже можете добавить дробное значение к дате. Например, добавление 1/24 к дате добавляет час к компоненту времени этого значения. Добавление 1/(24*60) добавляет одну минуту к компоненту времени и так далее.

Помимо добавления чисел к датам - хотя это самый простой способ - вы можете добавить такие интервалы:

date1 := date2 + interval '1' day;
date1 := date2 + interval '2' month;
date1 := date2 + interval '3' year;

Это почти то же самое, но я предпочитаю последнее для лучшей читаемости.

Другие вопросы по тегам