首頁 > 資料庫 > mysql教程 > 如何使用正規表示式將逗號分隔的字串拆分為 MySQL 臨時表?

如何使用正規表示式將逗號分隔的字串拆分為 MySQL 臨時表?

Patricia Arquette
發布: 2024-12-19 21:38:13
原創
142 人瀏覽過

How to Split a Comma-Separated String into a MySQL Temp Table Using Regular Expressions?

MySQL 使用正規表示式將逗號分隔的字串分割為臨時表

MySQL 缺乏專用的分割字串函數,需要其他方法。一種方法涉及透過迭代自訂函數來模擬拆分。

自訂分割函數

以下函數在位置 pos 處拆分由 delim 分隔的字串 x:

CREATE FUNCTION SPLIT_STR(
  x VARCHAR(255),
  delim VARCHAR(12),
  pos INT
)
RETURNS VARCHAR(255)
RETURN REPLACE(SUBSTRING(SUBSTRING_INDEX(x, delim, pos),
       LENGTH(SUBSTRING_INDEX(x, delim, pos -1)) + 1),
       delim, '');
登入後複製

循環並插入到臨時文件中表

要迭代分割字串並將其插入到臨時表中,請使用LOOP 語句:

DELIMITER $$

CREATE PROCEDURE ABC(fullstr)

   BEGIN
      DECLARE a INT Default 0 ;
      DECLARE str VARCHAR(255);
      simple_loop: LOOP
         SET a=a+1;
         SET str=SPLIT_STR(fullstr,"|",a);
         IF str='' THEN
            LEAVE simple_loop;
         END IF;
         #Do Inserts into temp table here with str going into the row
         insert into my_temp_table values (str);
   END LOOP simple_loop;
END $$
登入後複製

注意: 使用下列腳本語言PHP 執行此類任務可能比僅依賴MySQL 更有效率。

以上是如何使用正規表示式將逗號分隔的字串拆分為 MySQL 臨時表?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板