首頁 >資料庫 >mysql教程 >如何使用 REGEXP_SUBSTR() 從包含 NULL 的逗號分隔清單中可靠地提取特定值?

如何使用 REGEXP_SUBSTR() 從包含 NULL 的逗號分隔清單中可靠地提取特定值?

Patricia Arquette
Patricia Arquette原創
2024-12-29 00:44:13363瀏覽

How to Reliably Extract Specific Values from Comma-Separated Lists Containing NULLs Using REGEXP_SUBSTR()?

從包含NULL 的列表中選擇單個值的正則表達式

問題:

REGEXP_SUBSTR ()未能檢索到當有空值時,逗號分隔清單中所需的第 n 個值。當值為 null 時,它將傳回下一個非空值作為第 n 次出現。

解:

要解決此問題,可以使用修改後的 REGEXP_SUBSTR()表達式可以使用:

此表達式透過以下方式擷取所需的資料步驟:

  1. (.*?):符合零個或多個可選字元。
  2. (,|$):符合逗號或行尾。
  3. 1:指定第一個符合的群組(子群組)為所需資料。
  4. 2:設定出現次數以選擇所需的第 n 個資料value.
  5. NULL:如果未找到指定符合項,則傳回 null。

可重複使用函數:

更簡單、更多使用方便,這個修改後的 REGEXP_SUBSTR() 表達式可以封裝在 PL/SQL中函數:

用法範例:

從列表 '123,222,,432,555' 擷取第 4 個元素:

以上是如何使用 REGEXP_SUBSTR() 從包含 NULL 的逗號分隔清單中可靠地提取特定值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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