從MySQL 文字欄位擷取連續數字
要有效地從MySQL 文字欄位中擷取連續數字,有以下幾種方法:
使用常規表達式:
MySQL 的內建正規表示式支援可用於偵測文字欄位中出現的兩個連續數字。但是,此方法不會將數字提取為單獨的欄位。
要獲得 PCRE 的自訂函數:
要取得高階正規表示式功能,請考慮實作 LIB_MYSQLUDF_PREG。這個開源程式庫提供了 PREG_CAPTURE、PREG_POSITION、PREG_REPLACE 和 PREG_RLIKE 等函數,可以從字串中提取特定的匹配項。
自訂函數:
另一種方法是建立一個像REGEXP_EXTRACT 這樣的自訂函數來擷取與所需正規表示式模式相符的最長子字符串。此功能可讓您指定開始和結束位置調整以擷取數字,而不包含其他字元。
其他條件:
如果您需要通過特定值,例如大於 20,您可以在獲取數字作為 a 後在 MySQL在查詢中應用附加條件
範例:
考慮以下自訂函數實作:
CREATE FUNCTION REGEXP_EXTRACT(string TEXT, exp TEXT) RETURNS TEXT DETERMINISTIC BEGIN ... ... END
然後,您可以在查詢中使用此函數來提取兩個原始文字欄位中的連續數字並按值過濾它們:
SELECT `id`, REGEXP_EXTRACT(`originaltext`, '[0-9][0-9]') AS `digits` FROM `source` WHERE `digits` > 20;
以上是如何從 MySQL 文字欄位中提取連續數字?的詳細內容。更多資訊請關注PHP中文網其他相關文章!