分割輸入字串
要分割輸入字串(日期和集合),我們可以使用以下技術:
日期(p_dates): 使用string_to_array() 函數從日期字串建立日期範圍陣列。例如:
SELECT string_to_array('2001-01-01to2001-01-05,2001-01-10to2001-01-15', ',')
集合 (p_sets): 類似地,使用 string_to_array() 函數將集合字串分割為集合名稱陣列。例如:
SELECT string_to_array('s1,s2,s3,s4', ',')
準備動態Case 語句
建立這些陣列後,我們可以使用它們來產生動態Case 語句結合使用CASE WHEN 和SELECT 語句。例如:
CASE WHEN given_dates BETWEEN date_ranges[1] AND date_ranges[2] THEN set_names[1] WHEN given_dates BETWEEN date_ranges[3] AND date_ranges[4] THEN set_names[2] ... ELSE NULL END
這裡,date_ranges 和 set_names 分別是從 p_dates 和 p_sets 建立的陣列。
然後可以使用此動態 case 語句根據指定的值更新 set_name 列日期範圍和設定名稱。
以上是如何有效地拆分和使用動態 Case 語句的輸入字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!