Поскольку Dremio является проприетарным, и мы не запускаем его там, где я работаю, я не могу протестировать указанный c код для вас, но я могу объяснить подход. Я оставлю разработку точного синтаксиса для вас.
В общем, решение состоит в том, чтобы использовать значение даты, которое вы должны вычислить в первый день следующего месяца, а затем вычесть один день. Это работает, потому что у каждого месяца есть первое число месяца, и каждый движок SQL будет получать правильную дату EOM при вычитании одного из первого. В большинстве систем есть несколько способов сделать это.
Вид "грубой силы" состоит в том, чтобы взять вашу текущую дату, current_datefield
, затем EXTRACT
год и месяц. Добавьте один в месяц. Используйте эти значения и жестко закодированный 01
для «сборки» первого числа следующего месяца. Там, вероятно, будет TO_DATE
или что-то подобное.
Теперь просто оберните это значение в функцию DATE_ADD
, чтобы вычесть единицу.