回答

收藏

DB2 / 400中的if-else语句

技术问答 技术问答 109 人阅读 | 0 人回复 | 2023-09-12

我在尝试AS400中运行包含if-else语句的SQL,但它不起作用。我在用。i Series Navigator创建一个View,便于操作。
8 D7 v8 Y8 B3 ~( d, l, FSELECT IF FIELD1 IS NOT NULL THEN 'AAA' ELSE 'BBB' END IFFROM LIB.TABLE1我的错误是:% d! ?& A2 A; q& D9 c/ \3 a
SQL State: 42601Vendor Code: -199Message: [SQL0199] Keyword IS not expected. Valid tokens: ,FROM INTO. Cause . .我没写就试过null但相反( ], f. w; H/ u: |# Y8 e
SELECT IF FIELD1 ='' THEN 'AAA' ELSE 'BBB' END IF    FROM LIB.TABLE1然后我犯了以下错误:8 `- C0 s: _5 R- I- t
SQL State: 42601Vendor Code: -104Message: [SQL0104] Token = was not valid. Valid tokens: ,FROM INTO. Cause . . . . . :   A syntax error was detected at token =.  Token = is not a               
! l$ @" ], C. `/ h    解决方案:                                                               
! _3 [2 ~& K2 f# }, U                                                                使用CASE表达式替代:$ o! K& u3 B. \7 I4 Z8 M
SELECT CASE WHEN FIELD1 IS NOT NULL THEN 'AAA' ELSE 'BBB' END FROM LIB.TABLE1;IF 控制流结构:
* V6 d6 ~3 B% `' ^0 O- z' LIF condition THEN    SELECT ...ELSE    SELECT ...END IF
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则