1

CASE ステートメントを使用して条件付きでパラメーターをチェックしたいのですif parameter is an empty string I want to return Nil if not then string 'test'が、うまくいきません。また、COALESCEを使用したくありません

select TEST=CASE '' WHEN '' THEN 'Nil' ELSE 'Test' END,current_timestamp from sysibm.sysdummy1;

エラーが発生する

SQL 状態: 42601 ベンダー コード: -104 メッセージ: [SQL0104] トークン = が無効でした。有効なトークン: + - AS . 原因 。. . . . : トークン = で構文エラーが検出されました。Token = は有効なトークンではありません。有効なトークンのリストの一部は + - AS です。このリストは、ステートメントがトークンまで正しいことを前提としています。エラーはステートメントの前にある可能性がありますが、ステートメントの構文はこの時点まで有効であるように見えます。回復 。. . 処置: 次の1つ以上を実行して、リクエストを再試行してください: -- トークン=の領域のSQL文を確認してください。ステートメントを訂正します。エラーは、コンマまたは引用符の欠落、スペルミス、または句の順序に関連している可能性があります。-- エラー トークンが の場合は、有効な句で終わっていないため、SQL ステートメントを修正します。

4

2 に答える 2

1
select CASE '' WHEN '' THEN 'Nil' ELSE 'Test' END as TEST,current_timestamp from sysibm.sysdummy1;

目的の列で何かを置き換えます。


詳細については、これを確認してください

于 2012-04-26T09:36:45.107 に答える
0

ケースの構文が正しくありません。正しいものは、

select TEST=CASE <fieldname> WHEN '' THEN 'Nil' ELSE 'Test' END,current_timestamp from sysibm.sysdummy1;
于 2012-04-26T09:37:55.157 に答える