日期为条件的转换

image.png这里的日期格式是这样的。参数名称为p_year_begin和p_year_end ,怎么将这个2个参数转换为2021-03 和2022-03.给数据集使用.p_year_begin 这样参数在其他数据集需要用2021-03-17这个格式。所以不能用在改控件下面设置格式的方式

FineReport 助人为乐 发布于 2022-3-17 16:17 (编辑于 2022-3-17 16:30)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共5回答
最佳回答
0
黄源Lv6中级互助
发布于2022-3-17 16:28

${if(p_year_begin = "","","and iuc.creation_date >= '" + left(p_year_begin,7) + "'")} 

最佳回答
0
@Lv6资深互助
发布于2022-3-17 16:18(编辑于 2022-3-17 16:30)

截取啊 substr

或者

=FORMAT(参数,"yyyy-MM")

${if(p_year_begin = "","","and iuc.creation_date >= '" + format(p_year_begin,"yyyy-MM") + "'")} ${if(p_year_end = "", "","and iuc.creation_date <= '" + format(p_year_end,"yyyy-MM") + "'")}

  • 助人为乐 助人为乐(提问者) ${if(p_year_begin = \"\",\"\",\"and iuc.creation_date >= \'\" + p_year_begin + \"\'\")} ${if(p_year_end = \"\", \"\",\"and iuc.creation_date <= \'\" + p_year_end + \"\'\")}我目前是这样写得。怎么截取?
    2022-03-17 16:26 
  • @ @ 回复 助人为乐(提问者) 我修改了你看看
    2022-03-17 16:30 
最佳回答
0
wayne_Lv7见习互助
发布于2022-3-17 16:28

image.png

最佳回答
0
JanesLv3见习互助
发布于2022-3-17 16:28(编辑于 2022-3-17 16:31)

substr(p_year_begin,1,7) 

substr( p_year_end,1,7)

选择样式为yyyy-mm

image.png

最佳回答
0
Z4u3z1Lv6专家互助
发布于2022-3-17 16:29(编辑于 2022-3-17 16:38)

什么数据库?iuc.creation_date在数据库中又是什么类型的数据(NVARCHAR()?DATE?DATETIME?)

image.png

  • 助人为乐 助人为乐(提问者) mysql 数据类型是2021-03 string .不能从数据库的方向。只能是在报表里面转换这个值了。
    2022-03-17 16:31 
  • Z4u3z1 Z4u3z1 回复 助人为乐(提问者) string是没办法用大于、小于比较。你需要把控件按照补充的图改一下格式以及返回值类型;iuc.creation_date后面拼接一个-01变成标准日期DATE_FORMAT(iuc.creation_date,+\'-01\', \'%Y-%m-%d\')>=${p_year_begin}
    2022-03-17 16:38 
  • 助人为乐 助人为乐(提问者) 回复 Z4u3z1 数据库取出来就是2021-03这样的。控件就固定是2021-03-17这样的。我想在这一个数据集里面将这个控件值抓换成2021-03去使用。${if(p_year_begin = \"\",\"\",\"and iuc.creation_date >= \'\" + left(p_year_begin,7) + \"\'\")} 前面提到的这个就OK
    2022-03-17 16:48 
  • 5关注人数
  • 410浏览人数
  • 最后回答于:2022-3-17 16:38
    请选择关闭问题的原因
    确定 取消
    返回顶部