H2 DB DAY_OF_WEEK, начиная с понедельника

Мне нужно получить день недели даты в H2 как число. Есть функция DAY_OF_WEEK(дата), которая возвращает воскресенье как первый день недели. Тем не менее, мне нужен понедельник, чтобы быть первым днем ​​недели. Кто-нибудь знает функцию в H2 для достижения этой цели?

Мне это нужно для функции "будний день" в собственном спящем диалекте. Возвращаемые значения должны соответствовать значениям перечисления java DayOfWeek.

В MySQL я решил это так:

registerFunction("weekday", new SQLFunctionTemplate(StandardBasicTypes.INTEGER, "WEEKDAY(?1)+1"));

Теперь я не знаю, как это сделать с H2. Заранее благодарю за любую помощь!

1 ответ

Вы уже нашли функцию H2 DAY_OF_WEEK (dateAndTime), Который определен в документации по функции h2 и возвращает 1 как воскресенье.

DAY_OF_WEEK ( dateAndTime )
Returns the day of the week (1 means Sunday).
Example:
DAY_OF_WEEK(CREATED)

Ты можешь использовать ISO_DAY_OF_WEEK ( dateAndTime ) если вы хотите, чтобы 1 отображался на понедельник. Который определяется следующим образом в документации.

ISO_DAY_OF_WEEK ( dateAndTime )
Returns the ISO day of the week (1 means Monday).
Example:
ISO_DAY_OF_WEEK(CREATED)

Надеюсь, это поможет!:)

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