范围查询设置默认值
1、数值默认值查询
- 效果展示
- 默认查询年龄在16-22岁之间的,中间用
|
表示,16|22
2、日期范围设置默认值
2.1 非表达式默认值
- 效果展示
- 日期查询2021年11月1日到2021年11月30日的数据
默认值配置成:
2021-11-01|2021-11-30
2.2 表达式默认值
- 效果展示
- 通过表达式设置默认,查询当月1号到今日的数据:
默认值配置成:
=concat(string.substring(dateStr('yyyy-MM-dd'),0, 8), '01')|=dateStr('yyyy-MM-dd')
注意: 示例2和示例3本质上是一样的,传到后台的查询值都是日期字符串,字符串,所以sql执行的时候也是直接用这个字符串作的比较。
2.3 查询N天前数据
- 效果展示
- 默认查询N天前数据,时间格式为:yyyy-MM-dd HH:mm:ss,例如:配置10天前的零点至当前时间
默认值配置:
=concat(dateStr('yyyy-MM-dd',-10),' 00:00:00')|=dateStr('yyyy-MM-dd HH:mm:ss')
查询日期格式:yyyy-MM-dd HH:mm:ss
不填时默认为yyyy-MM-dd
2.4 查询近3个月数据
- 效果展示
- 默认查询近3个月数据
默认值配置:=concat(dateStr('yyyy',-1),'-', dateStr('MM', -3),'-',dateStr('dd'))|=dateStr('yyyy-MM-dd')
日期格式:yyyy-MM-dd
dateStr('MM', -3) 中负数为月份往前,正数为月份往后,年日同理
2.5 查询当前月第一天和最后一天数据
通过 JS增强动态赋值
- 字段设置日期范围查询,设置默认格式
- 设置js增强
function init(){
var date=new Date();
//获取当月第一天
date.setDate(1);
var month = parseInt(date.getMonth() + 1);
var day = date.getDate();
if (month < 10) {
month = '0' + month
}
if (day < 10) {
day = '0' + day
}
var start = date.getFullYear() + '-' + month + '-' + day;
//获取当月最后一天
var currentMonth=date.getMonth();
var nextMonth=++currentMonth;
var nextMonthFirstDay=new Date(date.getFullYear(),nextMonth,1);
var oneDay=1000*60*60*24;
var end = new Date(nextMonthFirstDay-oneDay)
//赋值
this.updateSearchFormValue('dbCode', 'fieldName', start+'|'+end)
}