欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL獲取二維數(shù)組字符串的最后一個(gè)值的實(shí)現(xiàn)代碼

 更新時(shí)間:2024年04月23日 11:12:08   作者:天狼1222  
這篇文章主要介紹了MySQL獲取二維數(shù)組字符串的最后一個(gè)值的實(shí)現(xiàn),文中有詳細(xì)的代碼示例供大家參考,對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下

要分離字符串:[["1","1007","1007012"],["5","5005"],["6","6002","6002005"],["7","7003"],["8","8001","8001005"]],獲取里面各數(shù)組里面的最后一個(gè)值,即1007012,5005,6002005,7003和8001005

1,內(nèi)容替換

先把內(nèi)容替換了,把雙引號(hào)和替換為空的,再把中間中括號(hào)替換為指定字符

替換后的:

 SELECT REPLACE ( REPLACE (  REPLACE (REPLACE ( s.gdbq, '],[', '@' ),
'[', '' ), ']', '' ), '"', '' ) replace_gdbq FROM
(
  SELECT '[["1","1007","1007012"],["5","5005"],
["6","6002","6002005"],["7","7003"],["8","8001","8001005"]]' AS gdbq
  ) AS s

2,寫函數(shù)處理

利用LOCATE找到位置,再用SUBSTRING分離字符串,再用SUBSTRING_INDEX獲取到數(shù)組的最后一個(gè)值。

分離函數(shù):

DROP FUNCTION IF EXISTS func_split_arr_last_index;
DELIMITER //
CREATE FUNCTION func_split_arr_last_index(inputString VARCHAR(1024), delimiterChar VARCHAR(10))
RETURNS VARCHAR(1024) 
BEGIN
    -- 分割后的子字符串
    DECLARE splitStr VARCHAR(255);
    -- 再分割后的子字符串?dāng)?shù)組最后一個(gè)值
    DECLARE lastIndexStr VARCHAR(255);
    -- 分割后的結(jié)果
    DECLARE outputResult VARCHAR(255) DEFAULT '';
    -- 分割后的子字符串的位置
    DECLARE currentPos INT DEFAULT 1;
    -- 分割字符的位置
    DECLARE delimiterPos INT; 
    -- 分割字符的大小
    DECLARE delimiterLength INT; 
    SET delimiterLength = LENGTH(delimiterChar);
    -- 循環(huán)查找分割字符
    WHILE currentPos <= LENGTH(inputString) DO
        -- 查找分割字符的位置
        SET delimiterPos = LOCATE(delimiterChar, inputString, currentPos);
        -- 如果找到分割字符,則截取子字符串
        IF delimiterPos > 0 THEN
            SET splitStr = SUBSTRING(inputString, currentPos, delimiterPos - currentPos); 
            -- 找出最后一個(gè)值
	    SET lastIndexStr = SUBSTRING_INDEX(splitStr, ',', -1); 
            -- 將子字符串最后一個(gè)值添加到結(jié)果中
            SET outputResult = CONCAT(outputResult, lastIndexStr, ',');
            -- 更新索引
            SET currentPos = delimiterPos + delimiterLength;
        ELSE
            -- 如果沒有找到分割字符,則將剩余的字符串添加到結(jié)果中
            SET splitStr = SUBSTRING(inputString, currentPos);
            -- 找出最后一個(gè)值
	    SET lastIndexStr = SUBSTRING_INDEX(splitStr, ',', -1); 
            SET outputResult = CONCAT(outputResult, lastIndexStr);
            -- 退出循環(huán)
            SET currentPos = LENGTH(inputString) + 1;
        END IF;
    END WHILE;
    
    -- 返回分割后的結(jié)果
   RETURN outputResult;
END //
 
 
DELIMITER ; 

使用:

SELECT func_split_arr_last_index(replace_gdbq, '@') FROM (
 SELECT REPLACE ( REPLACE (  REPLACE (REPLACE ( s.gdbq, '],
[', '@' ),'[', '' ), ']', '' ), '"', '' ) replace_gdbq FROM
(
  SELECT '[["1","1007","1007012"],["5","5005"],
["6","6002","6002005"],["7","7003"],["8","8001","8001005"]]' AS gdbq
  ) AS s
 ) AS t;

這樣分離數(shù)據(jù)的就目標(biāo)達(dá)成了,就可以進(jìn)行下一步操作了。

總結(jié)

分離字符串,必須得用到LOCATE(找到位置)和SUBSTRING(分離字符串),有考慮直接用replace進(jìn)行替換,但是這個(gè)可能會(huì)出現(xiàn)誤差,導(dǎo)致問題,就不推薦使用。 對(duì)于一位數(shù)組的位置,如果是固定長(zhǎng)度的就還好指定位置,不然只有第一個(gè)和最后一個(gè)位置是確定的。

以上就是MySQL獲取二維數(shù)組字符串的最后一個(gè)值的實(shí)現(xiàn)代碼的詳細(xì)內(nèi)容,更多關(guān)于MySQL獲取字符串最后一個(gè)值的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • MySQL xtrabackup 物理備份原理解析

    MySQL xtrabackup 物理備份原理解析

    xtrabackup 是percona公司開源的MySQL innodb物理備份工具,支持在線熱備(備份時(shí)不影響數(shù)據(jù)讀寫),在工具在業(yè)內(nèi)生產(chǎn)上被大量使用,本次使用xtrabackup 備份的日志和數(shù)據(jù)庫(kù)general 日志來對(duì)備份的流程和原理進(jìn)行解讀,需要的朋友可以參考下
    2022-12-12
  • 詳解MySQL單列索引和聯(lián)合索引

    詳解MySQL單列索引和聯(lián)合索引

    聯(lián)合索引的結(jié)構(gòu)與電話簿類似,人名由姓和名構(gòu)成,電話簿首先按姓氏進(jìn)行排序,然后按名字對(duì)有相同姓氏的人進(jìn)行排序,這篇文章主要介紹了MySQL單列索引和聯(lián)合索引,需要的朋友可以參考下
    2022-09-09
  • mysql注入之長(zhǎng)字符截?cái)?orderby注入,HTTP分割注入,limit注入方式

    mysql注入之長(zhǎng)字符截?cái)?orderby注入,HTTP分割注入,limit注入方式

    這篇文章主要介紹了mysql注入之長(zhǎng)字符截?cái)?orderby注入,HTTP分割注入,limit注入方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • 解決mysql不能插入中文Incorrect string value

    解決mysql不能插入中文Incorrect string value

    首先我的配置文件的設(shè)置的默認(rèn)字符集是utf8即
    2009-05-05
  • mysql 8.0.16 壓縮包安裝配置方法圖文教程

    mysql 8.0.16 壓縮包安裝配置方法圖文教程

    這篇文章主要為大家詳細(xì)介紹了mysql 8.0.16 壓縮包安裝配置方法圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • 解決MySQL報(bào)錯(cuò):You?can‘t?specify?target?table?‘region‘?for?update?in?FROM?clause

    解決MySQL報(bào)錯(cuò):You?can‘t?specify?target?table?‘region‘?for?

    這篇文章主要給大家介紹了關(guān)于MySQL報(bào)錯(cuò):You?can‘t?specify?target?table?‘region‘?for?update?in?FROM?clause的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-02-02
  • C++連接使用MySQL的方法

    C++連接使用MySQL的方法

    這篇文章主要為大家詳細(xì)介紹了C++連接使用MySQL的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-07-07
  • MySQL時(shí)間溢出原理、影響與解決方案

    MySQL時(shí)間溢出原理、影響與解決方案

    本文將手把手帶您了解mysql時(shí)間溢出原理、實(shí)戰(zhàn)影響與全面解決方案,所有代碼均通過dblens for mysql數(shù)據(jù)庫(kù)工具驗(yàn)證,推薦使用該工具進(jìn)行可視化數(shù)據(jù)庫(kù)管理和開發(fā),感興趣的小伙伴跟著小編一起來看看吧
    2025-03-03
  • MySQL中的運(yùn)算符使用實(shí)例展示

    MySQL中的運(yùn)算符使用實(shí)例展示

    請(qǐng)問,什么是最好的參考文檔,我的答案是:真實(shí)可行的樣例語句。
    2010-12-12
  • 關(guān)于Mysql搭建主從復(fù)制功能的步驟實(shí)現(xiàn)

    關(guān)于Mysql搭建主從復(fù)制功能的步驟實(shí)現(xiàn)

    這篇文章主要介紹了關(guān)于Mysql搭建主從復(fù)制功能的步驟實(shí)現(xiàn),在實(shí)際的生產(chǎn)中,為了解決Mysql的單點(diǎn)故障已經(jīng)提高M(jìn)ySQL的整體服務(wù)性能,一般都會(huì)采用主從復(fù)制,需要的朋友可以參考下
    2023-05-05

最新評(píng)論