数据集参数问题

 ${if(len(p_start) = 0 && len(p_end) = 0,

                    " SUM( NVL(duration_real, 0)) as duration_real,",

                   " SUM(case when trunc(record_time)>= TO_DATE ('" +

                      p_start + "', 'YYYY-MM-DD')" + 

                    " and trunc(record_time)<= TO_DATE('" +

                      p_end + "', 'YYYY-MM-DD') then NVL(duration_real, 0) else 0 end ) as duration_real ," ) }

有大神可以可以解释一下这段SQL 是什么意思吗? 看不太懂。


hell233 发布于 2021-1-12 09:03
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
cuiyuepingLv5见习互助
发布于2021-1-12 09:16(编辑于 2021-1-12 09:17)

${if(len(p_start) = 0 && len(p_end) = 0,--当起始日期和结束日期为空

                    " SUM( NVL(duration_real, 0)) as duration_real,",--将字段值duration_real求和作为总值,如果字段duration_real为null则为0计入,求和后字段名为duration_real

                   " SUM(case when trunc(record_time)>= TO_DATE ('" +

                      p_start + "', 'YYYY-MM-DD')" + 

                    " and trunc(record_time)<= TO_DATE('" +

                      p_end + "', 'YYYY-MM-DD') then NVL(duration_real, 0) else 0 end ) as duration_real ," ) }

--如果起始日期或结束日期不为空,则在表记录中筛选出符合条件的记录,筛选条件为记录时间record_time转换为日期格式'YYYY-MM-DD'后在起始日期和结束日期区间内,将字段duration_real值求和,同样的,字段duration_real值如果为null则以0计入。其余的不在这个日期区间内的都以duration_real置为0计入,求和后字段名为duration_real。

 

  • hell233 hell233(提问者) 感谢大神
    2021-01-12 09:49 
  • cuiyueping cuiyueping 回复 hell233(提问者) 谢谢你的采纳,祝你工作和学习一帆风顺,蒸蒸日上。
    2021-01-12 17:01 
最佳回答
0
snrtuemcLv8专家互助
发布于2021-1-12 09:10

如果p_start和p_end为空,则执行这个语句SUM( NVL(duration_real, 0)) as duration_real,,不然就执行这个语句

SUM(case when trunc(record_time)>= TO_DATE ('" +

                      p_start + "', 'YYYY-MM-DD')" + 

                    " and trunc(record_time)<= TO_DATE('" +

                      p_end + "', 'YYYY-MM-DD') then NVL(duration_real, 0) else 0 end ) as duration_real ,


最佳回答
0
xiaomage001Lv6初级互助
发布于2021-1-12 09:10

if判断语句,如果len(p_start) = 0 && len(p_end) = 0 条件成立,结果就是语句1:SUM( NVL(duration_real, 0)) as duration_real,  条件不成立 结果就是后面那SUM(case when)语句。


  • 4关注人数
  • 419浏览人数
  • 最后回答于:2021-1-12 09:17
    请选择关闭问题的原因
    确定 取消
    返回顶部