首頁 >資料庫 >mysql教程 >如何從 MySQL 文字欄位中提取連續的數字?

如何從 MySQL 文字欄位中提取連續的數字?

DDD
DDD原創
2024-12-05 06:56:10960瀏覽

How Can I Extract Consecutive Digits from a MySQL Text Field?

從 MySQL 文字欄位擷取連續數字

在 MySQL 中操作文字欄位中的數位資料可能具有挑戰性。若要從此類欄位中提取連續數字,建議使用 MySQL 函數或外部函式庫。

使用 LIB_MYSQLUDF_PREG 函式庫:

LIB_MYSQLUDF_PREG 函式庫提供強大的正規表示式函數,包括用於子提的 PREG_CAPTURE

  • PREG_CAPTURE(regex, string): 根據指定的正規表示式從字串中提取第一個個匹配的子字串。

自訂函數更簡單提取:

或者,可以建立以下自訂 MySQL函數來進行基本提取:

CREATE FUNCTION REGEXP_EXTRACT(string TEXT, exp TEXT)
RETURNS TEXT
DETERMINISTIC
BEGIN
  -- Extract longest matching substring adjusted for ^ or $ in regex

用法:

使用這個函數,如下調用:

SELECT REGEXP_EXTRACT(originaltext, '[0-9][0-9]') AS extracted_digits
FROM source
WHERE originaltext regexp '[0-9][0-9]'
這將提取第一個匹配的每個匹配的原始文本中的一對數字。可以根據需要將其他條件添加到查詢中,例如將提取的數字與值進行比較。

以上是如何從 MySQL 文字欄位中提取連續的數字?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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