mysql截取字符串并更新_mysql 截取字符串并 update select

mysql截取字符串并更新_mysql 截取字符串并 update select亲测有效格式为update需要修改的表b1innerjoin(查询到的临时表)b2onb1.id=b2.idsetb1.要修改的字段=b2.查询到的值因为想要把表中的一个字段的一部分取出来,另放一个新的字段里面,所以想到了mysql的字符串截取功能。需要更新的数据:selectparams,substring_index(params,’=’,-1),paramI…

大家好,又见面了,我是你们的朋友全栈君。

亲测有效  格式为 update 需要修改的表 b1 inner join (查询到的临时表)b2 on b1.id=b2.id set b1.要修改的字段=b2.查询到的值

因为想要把表中的一个字段的一部分取出来,另放一个新的字段里面,所以想到了mysql的字符串截取功能。

需要更新的数据:

select params, substring_index(params, ‘=’, -1), paramId from task where expiredDate is null;

由于mysql不能直接使用set select的结果,所以必须使用inner join。

上完整栗子:

update task a inner join (select id, substring_index(params, ‘=’, -1) as param_id from task b where b.expiredDate is null) c

on a.id = c.id set a.paramId = c.param_id where a.expiredDate is null ;

附上截取字符串栗子:

1. 字符串截取:left(str, length)

mysql> select left(‘sqlstudy.com’, 3);

+————————-+

| left(‘sqlstudy.com’, 3) |

+————————-+

| sql |

+————————-+

2. 字符串截取:right(str, length)

mysql> select right(‘sqlstudy.com’, 3);

+————————–+

| right(‘sqlstudy.com’, 3) |

+————————–+

| com |

+————————–+

3. 字符串截取:substring(str, pos); substring(str, pos, len)

3.1 从字符串的第 4 个字符位置开始取,直到结束。

mysql> select substring(‘sqlstudy.com’, 4);

+——————————+

| substring(‘sqlstudy.com’, 4) |

+——————————+

| study.com |

+——————————+

3.2 从字符串的第 4 个字符位置开始取,只取 2 个字符。

mysql> select substring(‘sqlstudy.com’, 4, 2);

+———————————+

| substring(‘sqlstudy.com’, 4, 2) |

+———————————+

| st |

+———————————+

3.3 从字符串的第 4 个字符位置(倒数)开始取,直到结束。

mysql> select substring(‘sqlstudy.com’, -4);

+——————————-+

| substring(‘sqlstudy.com’, -4) |

+——————————-+

| .com |

+——————————-+

3.4 从字符串的第 4 个字符位置(倒数)开始取,只取 2 个字符。

mysql> select substring(‘sqlstudy.com’, -4, 2);

+———————————-+

| substring(‘sqlstudy.com’, -4, 2) |

+———————————-+

| .c |

+———————————-+

注意在函数 substring(str,pos, len)中, pos 可以是负值,但 len 不能取负值。

4. 字符串截取:substring_index(str,delim,count)

4.1 截取第二个 ‘.’ 之前的所有字符。

mysql> select substring_index(‘www.sqlstudy.com.cn’, ‘.’, 2);

+————————————————+

| substring_index(‘www.sqlstudy.com.cn’, ‘.’, 2) |

+————————————————+

| www.sqlstudy |

+————————————————+

4.2 截取第二个 ‘.’ (倒数)之后的所有字符。

mysql> select substring_index(‘www.sqlstudy.com.cn’, ‘.’, -2);

+————————————————-+

| substring_index(‘www.sqlstudy.com.cn’, ‘.’, -2) |

+————————————————-+

| com.cn |

+————————————————-+

4.3 如果在字符串中找不到 delim 参数指定的值,就返回整个字符串

mysql> select substring_index(‘www.sqlstudy.com.cn’, ‘.coc’, 1);

+—————————————————+

| substring_index(‘www.sqlstudy.com.cn’, ‘.coc’, 1) |

+—————————————————+

| www.sqlstudy.com.cn |

+—————————————————+

4.4 截取一个表某个字段数据的中间值 如该字段数据为  1,2,3

mysql> select substring_index(substring_index(该字段, ‘,’, 2) , ‘,’, -1) from 表名;

+————————————————————–+

| substring_index(substring_index(该字段, ‘,’, 2); , ‘,’, -1) |

+————————————————————–+

| 2 |

+————————————————————–+

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/132074.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Mysql忘记密码和密码重置

    Mysql忘记密码和密码重置**Mysql忘记密码和密码重置**环境:系统Windows10MySQL-8.0.23操作步骤:1、停止MySQL服务打开命令窗口cmd,输入命令:netstopmysql,停止MySQL服务2、开启跳过密码验证登录的MySQL服务打开命令窗口cmd,进入mysql安装目录下的bin目录,然后输入如下这条命令`mysqld–shared-memory–skip-grant-tables`3、重新打开一个cmd命令窗口,输入mysql命令就可以直接登录了,直接

    2022年6月17日
    20
  • Ubuntu20.04下安装QQ[通俗易懂]

    https://blog.csdn.net/dulingwen/article/details/89848661https://blog.csdn.net/qq_36428171/article/details/81209475https://github.com/wszqkzqk/deepin-wine-ubuntuhttps://www.lulinux.com/archives/1319…

    2022年4月16日
    132
  • 语义分割 实例分割 全景分割_语义分割应用场景

    语义分割 实例分割 全景分割_语义分割应用场景之前看过一篇使用分割思想进行目标检测,所以这里补习下一些分割相关的基础知识。这里重点说下语义分割、实力分割和全景分割的区别。1、semanticsegmentation(语义分割)通常意义上的目标分割指的就是语义分割,图像语义分割,简而言之就是对一张图片上的所有像素点进行分类语义分割(下图左)就是需要区分到图中每一点像素点,而不仅仅是矩形框框住了。但是同一物体的不同实例不需要单独分…

    2022年8月21日
    7
  • 通俗讲解分布式锁:场景和使用方法

    通俗讲解分布式锁:场景和使用方法前言对于锁大家肯定不会陌生 比如 synchronized 关键字和 ReentrantLoc 可重入锁 一般我们用其在多线程环境中控制对资源的并发访问 但是随着业务的发展 分布式的概念逐渐出现在我们系统中 我们在开发的过程中经常需要进行多个系统之间的交互 于是上面的加锁方法就会失去作用 于是在分布式锁就自然而然的诞生了 接下来我们来聊一聊分布式锁实现的几种方式 分布式锁的使用场景 效率性 使用分布式锁可以避免不同节点重复相同的工作 正确性 分布式锁可以避免破坏正确性的发生 如

    2025年11月30日
    3
  • 道具库简介_保鲜库简介

    道具库简介_保鲜库简介作为C++标准不可缺少的一部分,STL应该是渗透在C++程序的角角落落里的。STL不是实验室里的宠儿,也不是程序员桌上的摆设,她的激动人心并非昙花一现。本教程旨在传播和普及STL的基础知识,若能借此机会为STL的推广做些力所能及的事情,到也是件让人愉快的事情。   初识STL:解答一些疑问   1.1一个最关心的问题:什么是STL   “什么是STL?”,假如你对STL还

    2022年10月16日
    5
  • .Net Core 2.0介绍「建议收藏」

    .Net Core 2.0介绍「建议收藏」.NetCore2.0是微软推出的一个参考.netframework重新开发的.NET实现,它是未来的所有.NET平台的基础。随着.NETCoreFramework的开发完成,.netfr

    2022年7月3日
    24

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号