finereport日期参数调用数据集日期格式转换

select 

part_dt,

store_id,

business_volume ,

valid_order,

unit_price

from ads_mkt_platform_store_day 

where 1=1 

${IF(frequency="1","AND part_dt >= '"+startDate+"' AND part_dt< '"+endDate+"'" ,

IF(frequency="2","AND part_dt >= '"+startDate+"' AND part_dt< '"+endDate+"'",

IF(frequency="3","AND part_dt >= '"+startDate+"' AND part_dt< '"+endDate+"'"

,"AND part_dt >= '"+startDate+"' AND part_dt< '"+endDate+"'")))}

and store_id in ( '${store_id}')

数据库是mysql,part_dt是日分区,存放的格式20010203的字符串,startDate,endDate是传参,想通过date_format()函数转换日期格式报错,哪位大佬指教一下,怎么转日期格式,还有就是取到昨天,去年同一天的日期?,if 条件中frequency 表示取 日 周 三个时间维度,查看数据

select 

part_dt,

store_id,

business_volume ,

valid_order,

unit_price

from ads_mkt_platform_store_day 

where 1=1 

${IF(frequency="1","AND part_dt >= '"+date_format(startDate,'%Y%m%d')+"' AND part_dt< '"+date_format(endDate,'%Y%m%d')+"'" ,

IF(frequency="2","AND part_dt >= '"+date_format(startDate,'%Y%m%d')+"' AND part_dt< '"+date_format(endDate,'%Y%m%d')+"'",

IF(frequency="3","AND part_dt >= '"+date_format(startDate,'%Y%m%d')+"' AND part_dt< '"+date_format(endDate,'%Y%m%d')+"'"

,"AND part_dt >= '"+date_format(startDate,'%Y%m%d')+"' AND part_dt< '"+date_format(endDate,'%Y%m%d')+"'")))}

and store_id in ( '${store_id}')

用户N0188713 发布于 2022-5-6 14:58 (编辑于 2022-5-6 15:02)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
CD20160914Lv8专家互助
发布于2022-5-6 15:06(编辑于 2022-5-6 15:07)

select 

part_dt,

store_id,

business_volume ,

valid_order,

unit_price

from ads_mkt_platform_store_day 

where 1=1 

${if(len(frequency)>0,"AND part_dt >= '"+format(startDate,"yyyyMMdd")+"' AND part_dt <= '"+format(endDate,"yyyyMMdd")+"'","")}

and store_id in ( '${store_id}')

就是这样就行了吧。。。你判断1 2 3没有看出有什么用。。

image.png

  • 用户N0188713 用户N0188713(提问者) 谢谢。frequency 是iframe传入的参数,1代表日,2 代表周,3代表月,时间维度选定后,页面上会选择startDate和endDate。参数传入SQL数据集,然后加载不同维度的数据。因为第一次做,不知这样做是否妥当?
    2022-05-06 15:11 
  • CD20160914 CD20160914 回复 用户N0188713(提问者) 你选择周,,或者月的时候,,,页面上不还是选择开始与结束日期??
    2022-05-06 15:16 
  • CD20160914 CD20160914 回复 用户N0188713(提问者) 比如你选择了周以后。。。那么开始与结束日期,用户是否一样要选择,假如选择了周,但是开始与结束日期不是一周的。。那么你做什么判断了?
    2022-05-06 15:16 
  • 用户N0188713 用户N0188713(提问者) 回复 CD20160914 选择周,月的时候,页面会自动刷新时间,选择最近一天或者最近一周的时间,或者最近一个月的时间
    2022-05-06 15:30 
  • CD20160914 CD20160914 回复 用户N0188713(提问者) 是一样的。。。。你的开始与结束日期会自动刷新。那么它会自动获取到的。你可以测试看就知道 了。。用我的语句。。。
    2022-05-06 15:33 
最佳回答
0
shinger@126.comLv2见习互助
发布于2022-5-7 14:17

你这种最好建一个日历表来处理。日历表中确定好年,月,周,以及日期,还有星期几,各种格式的日期文本等

  • 3关注人数
  • 636浏览人数
  • 最后回答于:2022-5-7 14:17
    请选择关闭问题的原因
    确定 取消
    返回顶部