DB2 / 400中的if-else语句

我正在尝试在AS400中运行包含if-else语句的SQL,但是它不起作用。我正在使用i Series Navigator创建一个View,以便运行它。

SELECT IF FIELD1 IS NOT NULL THEN 'AAA' ELSE 'BBB' END IF
FROM LIB.TABLE1

我得到的错误是:

SQL State: 42601
Vendor Code: -199
Message: [SQL0199] Keyword IS not expected. Valid tokens: , FROM INTO. Cause . . 

我尝试不写为空但相反

SELECT IF FIELD1 ='' THEN 'AAA' ELSE 'BBB' END IF
    FROM LIB.TABLE1

然后我得到以下错误:

SQL State: 42601
Vendor Code: -104
Message: [SQL0104] Token = was not valid. Valid tokens: , FROM INTO. Cause . . . . . :   A syntax error was detected at token =.  Token = is not a
卢卡斯·索兹达(Lukasz Szozda)

使用CASE表达式代替:

SELECT CASE WHEN FIELD1 IS NOT NULL THEN 'AAA' ELSE 'BBB' END 
FROM LIB.TABLE1;

IF 是控制流构造:

IF condition THEN 
   SELECT ...
ELSE 
   SELECT ...
END IF

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

DB2中的CASE子句语句

来自分类Dev

选择语句以获取db2中的列值之和

来自分类Dev

DB2中的增量更新语句

来自分类Dev

选择语句以获取db2中列值的总和

来自分类Dev

.NET中的DB2 / 400 TIMESTAMP字段操作

来自分类Dev

在as400 db2中创建视图

来自分类Dev

通过在DB2中使用CASE语句来明确地处理订单失败

来自分类Dev

如何在DB2中的单个更新语句中更新多列

来自分类Dev

如何在DB2中的单个更新语句中更新多列

来自分类Dev

db2目录表中没有可用的软件包的SQL语句

来自分类Dev

PHP - db2/odbc 中的 SQL Prepared 语句(防止注入)

来自分类Dev

SQL查询-db2 / 400 iseries

来自分类Dev

SQL查询-db2 / 400 iseries

来自分类Dev

DB2 MERGE语句错误

来自分类Dev

DB2 MERGE语句错误

来自分类Dev

sql中的if / else / else if /语句

来自分类Dev

在 DB2 中划分 2 列

来自分类Dev

Jquery中的if / else语句

来自分类Dev

JQuery中的if / Else语句

来自分类Dev

IF ... mySQL中的ELSE语句

来自分类Dev

Jquery中的if / else语句

来自分类Dev

JSP中的IF ELSE语句

来自分类Dev

在 DB2 SQL 中,是否可以在 SELECT 语句中设置一个变量以多次使用..?

来自分类Dev

WSO2在Xpath 2.0中使用If / else语句

来自分类Dev

在IBM i(AS400)DB2中导入/导出CSV

来自分类Dev

在运行于AS400、6.1的DB2中进行SQL合并

来自分类Dev

REPLACE功能在AS / 400 DB2中不可用

来自分类Dev

在DB2 String中替换

来自分类Dev

DB2中的计算列参考