最上位レベルの検索 CASE 表現は、初期の WHEN 句がバッチモード関数呼び出しを伴う単純な述語である場合にも、バッチモード実行の対象となります。ユーザー定義関数は LANGUAGE SQL 関数で、PARALLEL SAFE とCOST 5000 を指定する必要があります。
(CASEWHEN(status_codebetween200and299)THEN1ELSE0END)assuccess_count,SUM(CASEWHEN(status_codebetween200and299)THEN0ELSE1END)aserror_count,SUM(response_time_msec) /COUNT(1)ASaverage_response_time_msecFROMhttp_request-- roll up only data new since last_rollup_timeWHEREdate_trunc('minute', ...
実行前のテーブルの状態は、前述のbulk insert実施後を想定 パターン1 case式で分岐させる updatetest_tablesetname=caseidwhen1then'one_upd'when2then'two_upd'when3then'three_upd'end,note=caseidwhen1then'ichi'when2then'ni'when3then'san'endwhereidin(1,2,3); パターン2 各値をパラメータ...
case trigtime when 'B' then 'before' when 'A' then 'after' when 'I' then 'instead of' end as activation, rtrim(case when eventupdate ='Y' then 'update ' else '' end || case when eventdelete ='Y' then 'delete ' else '' end || case...
(CASE WHEN tab_data.position_id = '0095' THEN 1 ELSE 0 END ) tax_count, SUM(CASE WHEN tab_data.position_id = '0100' THEN 1 ELSE 0 END ) attorney_count, SUM(CASE WHEN tab_data.position_id = '0090' THEN 1 ELSE 0 END ) non_attorney_count, SUM(CASE...