mysql字符串处理例子

项目中用到的,要判断表中某个字段的某几位,若为某个值则替换,用到了几个典型的字符串操作,记录备注实现方案如下:

备注:如果替代字符串是唯一的话,可以用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 //
复制代码
posted @   Fredric_2013  阅读(186)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示