在 MySQL 中拆分字串

Preet Sanghavi 2022年5月13日
在 MySQL 中拆分字串

本教程將介紹如何在 MySQL 資料庫中拆分字串。

首先,我們使用 SUBSTRING_INDEX() 函式來拆分字串。它是一個預定義的函式,使用者在 MySQL 中使用之前不必定義它。

這個函式幫助我們將字串分成可以用來提取重要資訊的段。

這個函式的語法可以理解如下。

SUBSTRING_INDEX(expr, delimiter, counter);

這種方法需要我們給出三個值,如上所示。它們是 expr 也稱為表示式,delimiter 告訴方法停止執行,counter 表示分隔符的出現計數。下面介紹如何傳遞 3 個引數。

  • 首要要求將是正在考慮的輸入字串。我們可以在這裡傳遞字串或資料庫中特定表的列名。這在上述語法中由 expr 表示。
  • 下一個要求是告訴函式何時停止執行的 delimiter
  • 在這裡,我們可以傳遞一個數字。這個數字代表特定 delimiter 的出現。

讓我們看一個實際的 SUBSTRING_INDEX() 示例。

假設你有一個地址字串為 Satra Park, X-10202 \n Borivali West, Mumbai

讓我們的目標是根據換行關鍵字的出現來分離上述字串,也寫為\n

我們可以使用以下查詢來實現這一點。

SELECT 
  SUBSTRING_INDEX("Satra Park, X-10202 \n Borivali West, Mumbai", '\n', 1) 
    AS address_one,
  SUBSTRING_INDEX("Satra Park, X-10202 \n Borivali West, Mumbai", '\n', -1) 
    AS address_two;

上面提到的查詢將為我們提供以下輸出。

address_one					address_two
Satra Park, X-10202         Borivali West, Mumbai

SUBSTRING_INDEX() 函式遍歷輸入字串中的 delimiter 字元,然後根據作為最後一個要求傳遞的分隔符的外觀得出一個字串。

因此,藉助 SUBSTRING_INDEX() 函式,我們可以在 MySQL 中拆分字串。

Preet Sanghavi avatar Preet Sanghavi avatar

Preet writes his thoughts about programming in a simplified manner to help others learn better. With thorough research, his articles offer descriptive and easy to understand solutions.

LinkedIn GitHub

相關文章 - MySQL String