拆分给定字符串并准备 Case 语句
要根据特定日期范围和相应的集合名称有效更新表,有必要拆分将给定的字符串动态地分解为各个组件。这种方法允许处理可变输入参数并确保更新操作的灵活性。
分割日期范围和集名称
分割日期范围:
SELECT unnest(string_to_array(p_dates, ',')) AS date_range;
分割集名称:
SELECT unnest(string_to_array(p_sets, ',')) AS set_name;
动态案例陈述准备
一旦确定了日期范围并设置名称被分割,可以使用以下内容构建动态 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中文网其他相关文章!