Oracle: первый и последний день месяца

Намедни столкнулся с проблемой узнать первый и последний день месяца определенной даты.
Для того чтобы узнать последний день месяца есть встроенная в Oracle функция LAST_DAY().
Интереснее узнать первый день месяца.
Понравилось следующее решение:

1
add_months(last_day(to_date(:p_date_from,'dd-mm-yyyy'))+1,-1)

по сути мы к заданной дате применяем функцию LAST_DAY(), прибавляем один день и автоматически перешли на следующий месяц. Далее с помощью ADD_MONTHS() отнимаем один месяц от получившейся даты.

Ссылки по теме:
Статья о работе с датой
Форум Oracle

2 thoughts on “Oracle: первый и последний день месяца

  1. >Извращение!
    Первый день месяца получается гораздо проще:
    trunc(to_date(:p_date_from,’dd-mm-yyyy’),’month’)

Leave a Reply

Your email address will not be published. Required fields are marked *


+ пять = 6