指定された文字列を分割して Case ステートメントを準備する
特定の日付範囲と対応するセット名に基づいてテーブルを効率的に更新するには、分割する必要があります指定された文字列を個々のコンポーネントに動的に追加します。このアプローチにより、可変入力パラメーターの処理が可能になり、更新操作の柔軟性が確保されます。
日付範囲とセット名の分割
分割日付範囲:
SELECT unnest(string_to_array(p_dates, ',')) AS date_range;
分割セット名:
SELECT unnest(string_to_array(p_sets, ',')) AS set_name;
動的 Case ステートメントの準備
日付範囲が設定されたら名前が分割されている場合、次を使用して動的な case ステートメントを構築できます。手順:
日付範囲のループ:
範囲を抽出境界:
ケースを構築する句:
次のコード スニペットは、動的 case ステートメント:
PREPARE upd_tbl AS UPDATE table_name SET set_name = CASE WHEN given_date BETWEEN split_part(, 'to', 1)::date AND split_part(, 'to', 2)::date THEN ELSE null END;
ここで:
date_range と set_name をパラメータとしてこのプリペアド ステートメントを実行すると、テーブルは指定された日付範囲とセット名に基づいて更新されます。
以上がCase ステートメントを使用して、分割された日付範囲とセット名に基づいてテーブルを動的に更新する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。