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

MySQL分割字符串一行轉(zhuǎn)多行的實(shí)現(xiàn)方法

 更新時間:2023年06月13日 14:44:35   作者:midasism  
這篇文章主要介紹了MySQL分割字符串一行轉(zhuǎn)多行,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

需求

MySQL中,某個字段通過分隔符保存了多個字符串,如下:

需要將字段中的字符串分成不同的行,如下:

用到的知識

MySQL提供了一系列字符串處理函數(shù)
1、left(str, len):從左邊開始截取指定長度
2、right(str, len):從右邊開始截取指定長度
3、substring(str, pos):從第pos個字符開始截?。ㄗ⒁鈴?開始計數(shù))

  • 當(dāng)pos為正數(shù):從左往右數(shù)第pos個
  • 當(dāng)pos為負(fù)數(shù):從右往左數(shù)第pos個

比如pos為-2,字符串為"a,b,c",截取結(jié)果為",c"

4、substring(str, pos, len):從第pos個字符開始截取指定長度(注意從1開始計數(shù))
5、substring_index(str, delim, count):根據(jù)delim分隔符進(jìn)行分割,從頭開始截取到第count個分隔符之前
select id, substring_index("a,b,c", ',', 2) from test_split;
截取到第二個分隔符之前

最終實(shí)現(xiàn)

實(shí)現(xiàn)效果

select 
	b.help_topic_id + 1 as id, 
	substring_index(substring_index(a.name, ',', b.help_topic_id + 1) ,',', -1) as name
from
	test_split a join mysql.help_topic b 
	on 
	b.help_topic_id < LENGTH(a.name) - LENGTH(REPLACE(a.name,',','')) + 1;

一行變成多行,需要借助輔助表,這里選擇mysql.help_topic
mysql.help_topic表的id特點(diǎn)是從0開始遞增,最大為700

1、分割成多少份:LENGTH(a.name) - LENGTH(REPLACE(a.name, ',' , '')) + 1

  • length(‘a,b,c’) - length( replace(‘a,b,c’, ‘,’, ‘’) ) + 1 = 5 - 3 + 1 = 3
  • 原始長度 - 去掉分隔符,之后的長度 = 分隔符數(shù)量
  • 分隔符數(shù)量 + 1 = 被分割的數(shù)量

2、獲取分割之后的每一份字符串
2.1、substring_index(a.name, ',', b.help_topic_id + 1):隨著help_topic_id增加,截取的字符串依次增加,“a”、“a,b”、“a,b,c”……
2.2、substring_index(str, ',' , -1):獲取str按分隔符分割之后的最后一個字符串
substring_index(substring_index(a.name, ',', b.help_topic_id + 1) , ',', -1)由2.1可知,隨著help_topic_id增加,依次獲取"a" “b” “c”……

參考鏈接

http://www.fzitv.net/article/248795.htm

到此這篇關(guān)于MySQL分割字符串一行轉(zhuǎn)多行的文章就介紹到這了,更多相關(guān)MySQL分割字符串內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MySQL分區(qū)表和分桶表的操作詳解

    MySQL分區(qū)表和分桶表的操作詳解

    這篇文章主要介紹了MySQL分區(qū)表和分桶表的操作,分區(qū)表和分桶表都是數(shù)據(jù)庫中的表,用于對數(shù)據(jù)進(jìn)行分區(qū)或分桶存儲,以提高數(shù)據(jù)庫的性能和查詢效率,需要詳細(xì)了解可以參考下文
    2023-05-05
  • 如何查看MySQL連接的root密碼

    如何查看MySQL連接的root密碼

    前幾天在用Navicat去連本地的MySQL的時候發(fā)現(xiàn)我已經(jīng)忘了密碼了,試了網(wǎng)上很多方式都不行…后來發(fā)現(xiàn)其實(shí)可以自己直接去看當(dāng)初設(shè)置的密碼,下面將方法總結(jié)出來分享給大家,有需要的朋友們可以參考借鑒,下面來一起看看吧。
    2017-01-01
  • 解決Mysql主從同步時Slave_IO_Running:Connecting;Slave_SQL_Running:Yes的故障排除問題

    解決Mysql主從同步時Slave_IO_Running:Connecting;Slave_SQL_Running:Ye

    排查MySQL主從復(fù)制錯誤,依次檢查網(wǎng)絡(luò)、賬戶密碼、防火墻,確認(rèn)橋接模式、互ping通、防火墻關(guān)閉;檢查配置文件log_bin和server_id,驗(yàn)證連接語法及主服務(wù)器權(quán)限設(shè)置,確保IP允許訪問
    2025-07-07
  • Navicat連接遠(yuǎn)程服務(wù)器里docker中mysql的方法(已解決)

    Navicat連接遠(yuǎn)程服務(wù)器里docker中mysql的方法(已解決)

    相信大家都有在遠(yuǎn)程服務(wù)器上進(jìn)行開發(fā)吧,其中MySQL的使用率應(yīng)該也會挺高,這篇文章主要給大家介紹了關(guān)于Navicat連接遠(yuǎn)程服務(wù)器里docker中mysql的相關(guān)資料,需要的朋友可以參考下
    2024-04-04
  • Linux下MySQL多實(shí)例部署及安裝指南

    Linux下MySQL多實(shí)例部署及安裝指南

    Mysql多實(shí)例就是在一臺服務(wù)器上同時開啟多個不同的服務(wù)端口(3306、3307),同時運(yùn)行多個Mysql服務(wù)進(jìn)程,這些服務(wù)進(jìn)程通過不同的socket監(jiān)聽不同的服務(wù)端口來提供服務(wù),這篇文章主要介紹了Linux下MySQL多實(shí)例部署記錄,需要的朋友可以參考下
    2021-08-08
  • 實(shí)現(xiàn)MySQL與elasticsearch的數(shù)據(jù)同步的代碼示例

    實(shí)現(xiàn)MySQL與elasticsearch的數(shù)據(jù)同步的代碼示例

    MySQL 自身簡單、高效、可靠,是又拍云內(nèi)部使用最廣泛的數(shù)據(jù)庫,但是當(dāng)數(shù)據(jù)量達(dá)到一定程度的時候,對整個 MySQL 的操作會變得非常遲緩,這個時候我們就需要MySQL與elasticsearch數(shù)據(jù)同步,接下來就給大家介紹如何實(shí)現(xiàn)數(shù)據(jù)同步
    2023-07-07
  • MySql5.7.21安裝要點(diǎn)記錄筆記

    MySql5.7.21安裝要點(diǎn)記錄筆記

    這篇文章主要介紹了mysql5.7.21安裝要點(diǎn)記錄筆記,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2018-02-02
  • MySQL中比較運(yùn)算符的具體使用

    MySQL中比較運(yùn)算符的具體使用

    本文介紹了SQL中常用的符號類型和非符號類型運(yùn)算符,符號類型運(yùn)算符包括等于(=)、安全等于(<=>)、不等于(<>/!=)、大小比較(<,<=,>,>=)等,感興趣的可以了解一下
    2025-07-07
  • 云服務(wù)器安裝mysql的實(shí)現(xiàn)步驟

    云服務(wù)器安裝mysql的實(shí)現(xiàn)步驟

    在當(dāng)前的互聯(lián)網(wǎng)時代,云計算已經(jīng)成為重要的平臺支撐,本文就來介紹一下云服務(wù)器安裝mysql的實(shí)現(xiàn)步驟,具有一定的參考價值,感興趣的可以了解一下
    2024-01-01
  • MySQL如何給表和字段添加注釋

    MySQL如何給表和字段添加注釋

    這篇文章主要介紹了MySQL如何給表和字段添加注釋問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01

最新評論

随州市| 乌拉特前旗| 威信县| 天津市| 马山县| 赤峰市| 澄江县| 和田市| 隆子县| 白城市| 皮山县| 黄龙县| 沙洋县| 宣化县| 南宫市| 修水县| 金华市| 莱阳市| 阳山县| 连云港市| 十堰市| 游戏| 南川市| 伊通| 铜梁县| 静乐县| 禄丰县| 肃南| 监利县| 沅江市| 博兴县| 郓城县| 浮山县| 崇文区| 天气| 汪清县| 思茅市| 阿坝县| 上虞市| 肥乡县| 榆社县|