H2 DB DAY_OF_WEEK 从星期一开始

H2 DB DAY_OF_WEEK starting Monday

我需要获取 H2 中某个日期的星期几作为数字。有一个函数 DAY_OF_WEEK(date) ,其中 returns 星期日作为一周的第一天。 但是,我需要星期一作为一周的第一天。有人知道 H2 中的函数来完成这个吗?

我需要它用于自定义休眠方言中的 "weekday" 函数。返回的值应该对应于 java DayOfWeek 枚举的值。

在MySQL中我是这样解决的:

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

现在我不知道如何用 H2 完成这个。在此先感谢您的帮助!

您已经找到 H2 函数 DAY_OF_WEEK (dateAndTime)。在 h2 函数文档和 returns 1 中定义为 Sunday.

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

如果您希望 1 映射到星期一,您可以使用 ISO_DAY_OF_WEEK ( dateAndTime )。其中在documentation.

中定义如下
ISO_DAY_OF_WEEK ( dateAndTime )
Returns the ISO day of the week (1 means Monday).
Example:
ISO_DAY_OF_WEEK(CREATED)

希望对您有所帮助! :)