为什么这句话在PL/sql里执行没有问题。 SELECT WHSCODE,sum(CASE when status='空' then 1 else 0 end) NULLTorrNums FROM WAREHOUSEPOSITION GROUP BY WHSCODE
带到程序中,就报错,说缺少右括号。我原来以为是单引号截断sql语句。但是后来改成 CASE when 1=1 then 1 else 0 end
仍然报错。不知道什么原因。请帮忙。
...全文
43511打赏收藏
缺少右括号问题
为什么这句话在PL/sql里执行没有问题。 SELECT WHSCODE,sum(CASE when status='空' then 1 else 0 end) NULLTorrNums FROM WAREHOUSEPOSITION GROUP BY WHSCODE 带到程序中,就报错,说缺少右括号。我原来以为是单引号截断sql语句。但是后来改成 CASE when 1=1 then 1 else 0 end 仍然报错。不知道什么原因。请帮忙。
[Quote=引用楼主 we_homder 的回复:]
为什么这句话在PL/sql里执行没有问题。 SELECT WHSCODE,sum(CASE when status='空' then 1 else 0 end) NULLTorrNums FROM WAREHOUSEPOSITION GROUP BY WHSCODE
带到程序中,就报错,说缺少右括号。我原来以为是单引号截断sql语句。但是后来改成 CASE when 1=1 then 1 e……
[/Quote]
语句没错 试着 取消别名
SELECT WHSCODE,sum(CASE when status='空' then 1 else 0 end) as NULLTorrNums FROM WAREHOUSEPOSITION GROUP BY WHSCODE
--or
SELECT WHSCODE,sum(CASE when status='空' then 1 else 0 end) "NULLTorrNums" FROM WAREHOUSEPOSITION GROUP BY WHSCODE
ResultSet rs = stmt.executeQuery("select department_id, sum(case when salary > 8000 then 1 else 0 end) t from employees group by department_id");
while(rs.next()) {
System.out.println(rs.getInt("t"));
}