Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 选择使用NVL手写字母。为什么?_Java_Sql_Apache Spark Sql - Fatal编程技术网

Java 选择使用NVL手写字母。为什么?

Java 选择使用NVL手写字母。为什么?,java,sql,apache-spark-sql,Java,Sql,Apache Spark Sql,我写了这个选择: SELECT nvl(SUM(vl_item),0) AS SUM_VALOR_ITENS ,nvl(SUM(vl_discount),0) AS SUM_VALOR_DESCONTO ,nvl(SUM(qty_item) is null ,0,0) AS SUM_QTD_ITENS ,COUNT(DISTINCT cod_product_rms) AS QTD_ITENS_UNICOS FROM db.my_tabl

我写了这个选择:

    SELECT 
    nvl(SUM(vl_item),0)     AS SUM_VALOR_ITENS
   ,nvl(SUM(vl_discount),0) AS SUM_VALOR_DESCONTO
   ,nvl(SUM(qty_item) is null   ,0,0)    AS SUM_QTD_ITENS
   ,COUNT(DISTINCT cod_product_rms) AS QTD_ITENS_UNICOS
   FROM db.my_table
   where SAFRA = 202006
当我在DBeaver上运行时,结果是0(零),就像我预期的那样。 但是,当我使用Java在HQL文件中运行此SQL时,结果分别是“0E-10”、“0E-18”和“0E-18”。 我不明白为什么我会收到这个结果。
有人能帮我吗?

我建议使用coalesce,nvl不适用于第三列,因为nvl只接受2个参数(这一个需要3个),而coalesce可以接受任意多个参数

    SELECT 
    coalesce(SUM(vl_item),0)     AS SUM_VALOR_ITENS
   ,coalesce(SUM(vl_discount),0) AS SUM_VALOR_DESCONTO
   ,coalesce(SUM(qty_item) is null   ,0,0)    AS SUM_QTD_ITENS
   ,COUNT(DISTINCT cod_product_rms) AS QTD_ITENS_UNICOS
   FROM db.my_table
   where SAFRA = 202006

我建议使用coalesce,nvl在第3列中不起作用,因为nvl只接受2个参数(这一个接受3个),而coalesce可以接受任意数量的参数

    SELECT 
    coalesce(SUM(vl_item),0)     AS SUM_VALOR_ITENS
   ,coalesce(SUM(vl_discount),0) AS SUM_VALOR_DESCONTO
   ,coalesce(SUM(qty_item) is null   ,0,0)    AS SUM_QTD_ITENS
   ,COUNT(DISTINCT cod_product_rms) AS QTD_ITENS_UNICOS
   FROM db.my_table
   where SAFRA = 202006

这回答了你的问题吗?蜂巢正在将双重化为科学表征好了,我现在明白了。现在的问题是:如何包含将空值转换为零整数(或十进制)的处理方法?这是否回答了您的问题?蜂巢正在将双重化为科学表征好了,我现在明白了。现在的问题是:如何包含将空值转换为零整数(或十进制)的处理?