最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mysql根據(jù)逗號將一行數(shù)據(jù)拆分成多行數(shù)據(jù)

 更新時間:2021年12月13日 11:52:59   作者:好奇新  
本文主要介紹了mysql根據(jù)逗號將一行數(shù)據(jù)拆分成多行數(shù)據(jù),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

分隔效果

-- 分隔前
1,2,3,4
-- 分隔后
1
2
3
4

分隔命令行

SELECT 
 substring_index(substring_index('1,2,3,4',',', b.help_topic_id + 1), ',', -1) result
FROM 
 mysql.help_topic b
where 
 b.help_topic_id <  (LENGTH('1,2,3,4') - LENGTH(REPLACE('1,2,3,4', ',', '')) + 1);

命令行解釋

help_topic本身是Mysql一個幫助解釋注釋表,用于解釋Mysql各種專有名詞,由于這張表數(shù)據(jù)ID是從0順序增加的,方便我們用于計數(shù),但是8.0.17版本的只有686條數(shù)據(jù),超過這個數(shù)字,我們就需要己自定義一張表

可以用做計數(shù)的臨時表,查詢的語句只會用help_topic計數(shù),超出的部分其實都是臟數(shù)據(jù)

b.help_topic_id < 獲取分隔后的總行數(shù)

b.help_topic_id <  (LENGTH('1,2,3,4') - LENGTH(REPLACE('1,2,3,4', ',', '')) + 1)

這個語句其實是一個遍歷,help_topic_id 從0開始遞增到

按照順序截取,先截取第 n 個分隔符之前的所有字符,再截取字符串最后一位

1? ??—— 1
1,2??—— 2
1,2,3?—— 3
1,2,3,4?—— 4

mysql.help_topic 無權(quán)限處理辦法

mysql.help_topic 的作用是對 SUBSTRING_INDEX 函數(shù)出來的數(shù)據(jù)(也就是按照分割符分割出來的)數(shù)據(jù)連接起來做笛卡爾積。

如果 mysql.help_topic 沒有權(quán)限,可以自己創(chuàng)建一張臨時表,用來與要查詢的表連接查詢。

獲取該字段最多可以分割成為幾個字符串:

SELECT MAX(LENGTH(a.`name`) - LENGTH(REPLACE(a.`name`, ',', '' )) + 1) FROM `test` a;

創(chuàng)建臨時表,并給臨時表添加數(shù)據(jù):

注意:

  • 臨時表必須有一列從 0 或者 1 開始的自增數(shù)據(jù)
  • 臨時表表名隨意,字段可以只有一個
  • 臨時表示的數(shù)據(jù)量必須比 MAX(LENGTH(a.name) - LENGTH(REPLACE(a.name, ',', '' )) + 1) 的值大

涉及函數(shù)

substring_index(str,delim,count)

參數(shù)名 解釋
str 需要拆分的字符串
delim 分隔符,通過某字符進行拆分
count 當(dāng) count 為正數(shù),取第 n 個分隔符之前的所有字符; 當(dāng) count 為負數(shù),取倒數(shù)第 n 個分隔符之后的所有字符。

replace( str, from_str, to_str)

參數(shù)名 解釋
str 需要進行替換的字符串
from_str 需要被替換的字符串
to_str 需要替換的字符串

length(str) 獲取字符串長度

到此這篇關(guān)于mysql根據(jù)逗號將一行數(shù)據(jù)拆分成多行數(shù)據(jù)的文章就介紹到這了,更多相關(guān)mysql根據(jù)逗號拆分內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

肃北| 收藏| 普兰店市| 洞头县| 达日县| 新民市| 盐边县| 永靖县| 南宫市| 永年县| 肇庆市| 雷波县| 长宁区| 光山县| 宁陵县| 化州市| 芜湖市| 鲁山县| 雅安市| 禄丰县| 交城县| 龙里县| 依兰县| 长武县| 翼城县| 宝山区| 吉安县| 镇远县| 呼和浩特市| 文昌市| 吴堡县| 手游| 广德县| 昆明市| 山阳县| 吕梁市| 开原市| 巴林左旗| 枣阳市| 湘潭县| 兴宁市|