我在尝试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