You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何重写DB2 SELECT语句使tempBool变量获取TRUE或FALSE值?

重写SQL语句实现布尔值赋值

你可以通过直接对聚合结果进行布尔判断,确保语句始终返回一行结果,这样tempBool变量无论如何都会被赋值为TRUE或FALSE,而不会出现空结果的情况。

方案一:使用CASE表达式

SELECT CASE WHEN COUNT(*) > 100 THEN TRUE ELSE FALSE END INTO tempBool
FROM ABC;

方案二:直接使用布尔判断(DB2等数据库支持)

SELECT COUNT(*) > 100 INTO tempBool
FROM ABC;

原语句问题说明

原语句通过HAVING COUNT(*) > 100过滤结果,当ABC表的行数≤100时,HAVING子句会排除所有行,导致没有结果返回,进而无法给tempBool赋值。修改后的语句基于聚合函数COUNT(*)的结果直接生成布尔值,确保始终返回一行数据,变量能被正确赋值。

内容的提问来源于stack exchange,提问作者db2

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 06:01:31