mysql字串處理例子

來源:互聯網
上載者:User

標籤:

項目中用到的,要判斷表中某個欄位的某幾位,若為某個值則替換,用到了幾個典型的字串操作,記錄備忘實現方案如下:

備忘:如果替代字串是唯一的話,可以用replace,這裡用的是concat拼接。

DELIMITER //DROP PROCEDURE IF EXISTS p_modify_year;CREATE PROCEDURE p_modify_year()BEGIN    DECLARE tmpid int(8);    DECLARE tmppcidd varchar(20);    DECLARE tmpprocode varchar(20);    DECLARE done INT DEFAULT FALSE;    DECLARE cur CURSOR FOR SELECT product.id FROM product WHERE prostatus=0;        DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;    OPEN cur;            myloop: LOOP                FETCH cur INTO tmpid;                IF done THEN            LEAVE myloop;        END IF;                SELECT SUBSTRING(product.pcidd,2,2), product.procode INTO tmppcidd, tmpprocode FROM product WHERE id = tmpid;        
     //pcidd和procode中第2、3位為16則替換成AU,其中procode可能為空白。
IF tmppcidd = ‘16‘ THEN UPDATE upe_product set pcidd = CONCAT(SUBSTRING(pcidd, 1, 1), ‘AU‘, SUBSTRING(pcidd, 4, LENGTH(pcidd)+1)) WHERE id = tmpid; IF !ISNULL(tmpprocode) THEN UPDATE product set procode = CONCAT(SUBSTRING(procode, 1, 1), ‘AU‘, SUBSTRING(procode, 4, LENGTH(procode)+1)) WHERE id = tmpid; END IF; END IF; SET tmpprocode = NULL; SET tmppcidd = NULL; SET done = FALSE; END LOOP; CLOSE cur; END//

mysql字串處理例子

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.