过滤为NULL的值

用SQL如何过滤掉P.ISOBUTANE、P.N_BUTANE字段为NULL的值

s

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

用SQL如何过滤掉P.ISOBUTANE、P.N_BUTANE字段为NULL的值

select    

      SUM( P.METNE)/count(P.PROPANE)  C1G, 

    sum(P.PROPANE)/count(P.PROPANE) + sum(P.ISOBUTANE)/count(P.PROPANE)  + sum(P.N_BUTANE)/count(P.PROPANE)  + sum(P.ISOPENTANE)/count(P.PROPANE)  + sum(P.N_PENTANE)/count(P.PROPANE)  +  sum(P.N_HEXANE)/count(P.PROPANE)  AS "C3+G" , 

      count(P.PROPANE)

from PC_BSQ_ASSAY_TEST_REPOR_DATA P

WHERE

 p.org_id = '${org_id}' 

 and P.ISOBUTANE is not null

 and P.N_BUTANE is not null

  and to_char(p.PROD_DATE, 'yyyy-mm-dd') ='${format(reportDate, 'yyyy-MM-dd') }'

 and to_char(p.PROD_DATE, 'yyyy-mm-dd') <='${format(reportDate, 'yyyy-MM-dd') }'

group by to_char(p.PROD_DATE, 'yyyy-mm-dd')

最佳回答
0
Z4u3z1Lv6专家互助
发布于2023-1-4 17:06

select    

      SUM( P.METNE)/count(P.PROPANE)  C1G, 

    sum(P.PROPANE)/count(P.PROPANE) + sum(P.ISOBUTANE)/count(P.PROPANE)  + sum(P.N_BUTANE)/count(P.PROPANE)  + sum(P.ISOPENTANE)/count(P.PROPANE)  + sum(P.N_PENTANE)/count(P.PROPANE)  +  sum(P.N_HEXANE)/count(P.PROPANE)  AS "C3+G" , 

      count(P.PROPANE)

from PC_BSQ_ASSAY_TEST_REPOR_DATA P

WHERE

 p.org_id = '${org_id}' 

  and to_char(p.PROD_DATE, 'yyyy-mm-dd') ='${format(reportDate, 'yyyy-MM-dd') }'

 and to_char(p.PROD_DATE, 'yyyy-mm-dd') <='${format(reportDate, 'yyyy-MM-dd') }'

AND P.ISOBUTANE IS NOT NULL AND P.N_BUTANE IS NOT NULL

group by to_char(p.PROD_DATE, 'yyyy-mm-dd')

最佳回答
0
RFLJLv4见习互助
发布于2023-1-4 17:25

加个and 条件 (P.ISOBUTANE <> '' or  P.ISOBUTANE is not null)、and (P.N_BUTANE <> '' or  P.N_BUTANE is not null)

最佳回答
0
runnerLv7资深互助
发布于2023-1-4 18:13

你得过滤两个吧  is not null   和 字段 != ''

最佳回答
0
七夜Lv6初级互助
发布于2023-1-10 11:54

P.ISOBUTANE、P.N_BUTANE字段为NULL的行不需要参与计算,那就在where条件里过滤掉就行了。

WHERE  p.org_id = '${org_id}'   and P.ISOBUTANE is not null  and P.N_BUTANE is not null    and P.ISOBUTANE <>''  and P.N_BUTANE <>''

如果是P.ISOBUTANE、P.N_BUTANE字段为NULL的行需要参与计算,那就需要在sum函数中嵌套case when 语句处理下

sum(case when P.ISOPENTANE is null or P.ISOPENTANE = '' then 0 else P.ISOPENTANE end)

  • 5关注人数
  • 486浏览人数
  • 最后回答于:2023-1-13 08:30
    请选择关闭问题的原因
    确定 取消
    返回顶部