本篇介绍数据中心查询配置中 JPQL 与 SQL 对日期格式的匹配写法。在查询语句里引用日期参数时,需要按平台约定的格式书写,Date、Time 与 Timestamp 分别对应不同的占位方式,格式不符会导致语句执行报错。文中给出格式对照与参数传递示例,并附上可直接套用的语句片段,帮助开发者在视图与查询配置中正确完成时间范围过滤。
在数据中心查询配置中,jpql 与 sql 的日期写法不同,如下:
在 jpql 中,日期格式有专门的写法,常用格式如下:
Date - {d 'yyyy-mm-dd'} - for example: {d '2019-12-31'}
Time - {t 'hh:mm:ss'} - for example: {t '23:59:59'}
Timestamp(DateTime) - {ts 'yyyy-mm-dd hh:mm:ss'} - for example: {ts '2020-01-03 13:59:59'}
示例如下图:
var paramObj = parameters;var startTime =parameters.startTime;var endTime =parameters.endTime;var sql="SELECT o.application,o.createTime,o.id,o.startTime,o.creatorUnit,o.title,o.stringValue01,o.stringValue02,o.stringValue03,o.stringValue04 FROM com.x.processplatform.core.entity.content.WorkCompleted o "sql+="where o.createTime >= {ts '"+startTime+"'} and o.createTime <= {ts '"+endTime+"'}";return sql;直接编写 JPQL 创建语句-示例如下图:
{
"startTime": "{ts '2021-03-01 21:04:16'}"
}如果您想进一步了解数据中心的其他设计元素,可以查看以下文章:
相关问题讨论
相关内容