我正在尝试从H2数据库中提取年份和周数以使其符合ISO标准,这也应该按周汇总结果。我使用下面的SQL语句
SELECT CONCAT( YEAR (PARSEDATETIME( TRUNC(COL_NAME),'yyyy-MM-dd hh:mm:ss')), \'-W\', WEEK( PARSEDATETIME( TRUNC(COL_NAME),'yyyy-MM-dd hh:mm:ss')))
这是为H2数据库执行此操作的正确方法吗? H2中是否还有其他方法或标准功能。这会在几周内汇总我的结果。
此外,我想将星期的开始日期设置为星期一,因此我将查询更改为
SELECT CONCAT( YEAR (PARSEDATETIME( TRUNC(COL_NAME),'yyyy-MM-dd hh:mm:ss')), \'-W\', WEEK( PARSEDATETIME( TRUNC(COL_NAME),'yyyy-MM-dd hh:mm:ss'), 1))
但是我得到以下异常
嵌套异常是org.h2.jdbc.JdbcSQLException:参数无效 计算“WEEK”,预计数:“1”;
答案 0 :(得分:0)
在h2 db中,可以使用EXTRACT命令提取一周或一年。要提取周,请键入:
SELECT EXTRACT(WEEK FROM COLUMN NAME) FROM TABLE NAME
要提取年份,请输入:
SELECT EXTRACT(YEAR FROM COLUMN NAME) FROM TABLE NAME
列的 TIMESTAMP 值应采用标准格式,如 YYYY-MM-DD HH:MM:SS 。