mysql拆分字串為多行

2021-10-04 17:27:19 字數 1212 閱讀 7793

sql示例:

select

substring_index(substring_index(

'張三,李四,王五,趙六,楊七'

,','

,help_topic_id +1)

,',',-

1)as id

from

mysql.help_topic

where

help_topic_id <

(length(

'張三,李四,王五,趙六,楊七'

)- length(

replace

('張三,李四,王五,趙六,楊七'

,',',''

))+1

);

執行結果

解釋

help_topic表

此處利用 mysql 庫的help_topic表的 help_topic_id 來作為變數,因為 help_topic_id 是連續自增的,當然也可以用其他表的連續自增字段輔助。

涉及函式

引數解釋

str需要拆分的字串

delim

分隔符,通過某字元進行拆分

count

當 count 為正數,取第 n 個分隔符之前的所有字元; 當 count 為負數,取倒數第 n 個分隔符之後的所有字元。

引數解釋

str需要進行替換的字串

from_str

需要被替換的字串

to_str

需要替換的字串

引數解釋

str需要計算長度的字串

遇到的問題

sql執行報錯:select command denied to user '###' for table 'help_topic'select命令拒絕使用者 '###『用於表』help_topic』

擴充套件

Mysql 字串拆分 OR 一行轉多行

需要了解的的幾個mysql 函式 a.substring index 字串擷取substring index str,delim,count str 要處理的字串delim 分隔符count 計數 b.length 字元長度函式 c.replace 替換函式 不說了,直接看 select subst...

mysql拆分字串

函式 1 從左開始擷取字串 left str,length 說明 left 被擷取字段,擷取長度 例 select left make date,4 as year from t sale billing where make date 2017 06 24 2 從右開始擷取字串 right str...

mysql拆分字串函式

業務需求 拆分字串,然後將數字轉換成中文描述,返回成以,分割的中文描述 修改結束符,防止在mysql命令列中預設分號直接執行 delimiter 建立乙個計算拆分後字串的個數函式 drop function if exists calc length create function calc len...