"报表的参数条件传进来的日期是年月日,但是需要查询数据库里带时间的,比如传进来 2023-10-06,查询条件就是参数大于等于 2023-10-06 02:00:00 小于等于 2023-10- .."
报表的参数条件传进来的日期是年月日,但是需要查询数据库里带时间的,比如传进来 2023-10-06,查询条件就是参数大于等于 2023-10-06 02:00:00 小于等于 2023-10-07 02:00:00,怎么把后面的时间段跟传进来的日期拼接起来
这个是在数据集里过滤吧,数据集那个参数表达式那不仅可以写参数名,也可以用报表表达式,比如起始日期那块可以写成 arg1+"02:00:00" 这样,拼成一个字符串就行
如何实现日期加一呢,比如传来 2023-10-07,就查询 2023-10-07 02:00:00 到 2023-10-08 02:00:00 这段时间的数据
比如 arg1 是定义的那个参数,然后数据集 sql 中是 where riqi>? and riqi<? 那么对应数据集参数表达式那块这么写:
里边可以用表达式拼接,elapse 函数可以取日期的后一天
我这提示日期时间不能与字符串相加
前边再加 string 函数,将日期转成字符串就行
string(elapse(endtime,1))+"02:00:00" 我这样写的,还是不对,哪里有问题吗
02 前边应该有个空格,然后不对是数据不对还是报错?可以截图发下怎么设置的(sql 语句和参数表达式那),然后报错是报什么错误。还有,要看下数据库里对应的字段是什么类型,是日期时间还是字符串,由于这个表达式返回的是字符串,两边一般要转成一致
报错无法解析 elapse
数据集里参数这样写的了,那参数那里也要后面加时间吗
用的报表什么版本?可以新建个空白报表,找个单元格,里边写 =string(elapse(now(),1))+“02:00:00” , 浏览报表看下是否出正确的结果。如果还是报错,那可能是版本不对,看下函数帮助内的日期时间函数那块是否有这个函数,没有的话找下其他函数,记得以前版本有 reldate 函数,可以具体看下。如果单独单元格里没问题,那将您那边的设置方法截图发上来看下
这个是在数据集里过滤吧,数据集那个参数表达式那不仅可以写参数名,也可以用报表表达式,比如起始日期那块可以写成 arg1+"02:00:00" 这样,拼成一个字符串就行
如何实现日期加一呢,比如传来 2023-10-07,就查询 2023-10-07 02:00:00 到 2023-10-08 02:00:00 这段时间的数据
比如 arg1 是定义的那个参数,然后数据集 sql 中是 where riqi>? and riqi<? 那么对应数据集参数表达式那块这么写:
里边可以用表达式拼接,elapse 函数可以取日期的后一天
我这提示日期时间不能与字符串相加
前边再加 string 函数,将日期转成字符串就行
string(elapse(endtime,1))+"02:00:00" 我这样写的,还是不对,哪里有问题吗
02 前边应该有个空格,然后不对是数据不对还是报错?
可以截图发下怎么设置的(sql 语句和参数表达式那),然后报错是报什么错误。
还有,要看下数据库里对应的字段是什么类型,是日期时间还是字符串,由于这个表达式返回的是字符串,两边一般要转成一致
报错无法解析 elapse
数据集里参数这样写的了,那参数那里也要后面加时间吗
用的报表什么版本?可以新建个空白报表,找个单元格,里边写 =string(elapse(now(),1))+“02:00:00” , 浏览报表看下是否出正确的结果。
如果还是报错,那可能是版本不对,看下函数帮助内的日期时间函数那块是否有这个函数,没有的话找下其他函数,记得以前版本有 reldate 函数,可以具体看下。
如果单独单元格里没问题,那将您那边的设置方法截图发上来看下