日期控件

select a.persid,b.username,a.cqdate,a.first_punch,a.last_punch

from users b

left join ( SELECT persid,cqdate,MIN(CONCAT(cqdate, ' ', cqtime)) AS first_punch, MAX(CONCAT(cqdate, ' ', cqtime)) AS last_punch FROM cq_record WHERE year(cqdate)=year('${date}') AND month(cqdate)=month('${date}') GROUP BY persid, cqdate ) a on b.StaffCode=a.persid

'${date}'应该怎么用

FineReport yzm209396 发布于 2025-6-18 10:31
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共5回答
最佳回答
0
Z4u3z1Lv6专家互助
发布于2025-6-18 10:32

你想达到什么效果?

  • yzm209396 yzm209396(提问者) 报错为:数据集配置错误
    com fr.general.data. TableDataException:从字符串转换日期和/或时间时,转换失败。,无法查询数据
    2025-06-18 10:38 
  • Z4u3z1 Z4u3z1 回复 yzm209396(提问者) cqdate和date 应该不是标准的yyyy-MM-dd格式(PS:参数名尽量不要和系统函数一样,date为系统函数)
    2025-06-18 10:42 
最佳回答
0
用户k6280494Lv6专家互助
发布于2025-6-18 10:33

date 换个名字

最佳回答
0
snrtuemcLv8专家互助
发布于2025-6-18 10:33

你这个语句,可以的啊

但是date是关键之,改成date1也可以

日期控件名也改成date1

最佳回答
0
华莉星宸Lv7资深互助
发布于2025-6-18 10:33

你的这个写法没问题啊

日期控件 https://help.fanruan.com/finereport/doc-view-258.html

  • yzm209396 yzm209396(提问者) 报错为 数据集配置错误
    com fr.general.data. TableDataException:从字符串转换日期和/或时间时,转换失败。
    2025-06-18 10:36 
最佳回答
0
技术支持--哈哈Lv4初级互助
发布于2025-6-18 10:39
日期参数使用方式

在您的SQL语句中,${date}是一个数据集参数,用于筛选特定年月的打卡记录。以下是具体使用方法:

  1. 参数定义


WHERE year(cqdate)=year('${date}')

AND month(cqdate)=month('${date}')

这段代码表示通过参数${date}获取年份和月份,与数据库中的cqdate字段进行匹配

  1. 参数传递

  • 在数据集定义界面,点击「预览」时会弹出参数输入框

  • 输入格式应为标准日期格式(如2023-11-15),系统会自动提取年月进行匹配

  1. 动态处理建议:如果希望参数为空时查询所有数据,可以修改为:


WHERE 1=1

${IF(len(date) == 0,"","AND year(cqdate)=year('" + date + "')")}

${IF(len(date) == 0,"","AND month(cqdate)=month('" + date + "')")}
注意事项
  1. 确保数据库中的cqdate字段为日期类型,否则需要先用CONVERT或CAST函数转换

  2. 参数值传递时需与数据库日期格式一致,建议使用YYYY-MM-DD格式

  3. 如果使用时间控件,控件格式需与SQL要求的格式匹配

参数输入示例(图示为参数输入界面参考)

  • 5关注人数
  • 29浏览人数
  • 最后回答于:2025-6-18 10:39
    请选择关闭问题的原因
    确定 取消
    返回顶部