首頁 >資料庫 >mysql教程 >如何有效地拆分和使用動態 Case 語句的輸入字串?

如何有效地拆分和使用動態 Case 語句的輸入字串?

Susan Sarandon
Susan Sarandon原創
2024-12-31 19:45:18947瀏覽

How to Efficiently Split and Use Input Strings for Dynamic Case Statements?

分割輸入字串

要分割輸入字串(日期和集合),我們可以使用以下技術:

  1. 日期(p_dates): 使用string_to_array() 函數從日期字串建立日期範圍陣列。例如:

    SELECT string_to_array('2001-01-01to2001-01-05,2001-01-10to2001-01-15', ',')
  2. 集合 (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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn