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)
上一篇 2022年6月11日 下午12:36
下一篇 2022年6月11日 下午12:36


相关推荐

  • 2021-08-12 WPF控件专题 DataGrid控件详解

    2021-08-12 WPF控件专题 DataGrid控件详解1 DataGrid 控件介绍 DataGrid 简介 MultiSelecto 条目控件网格控件 可以自定义网格显示的数据的控件自定义网格 列的形式 ListView 类似网格控件 GridViewGrid DataTemplate 常用属性 RowHeaderTem 行标题模板 CanUserAddRo 是否添加新行 IsReadOnly 是否可以编辑其中的值 Ve

    2026年3月16日
    3
  • JDK下载与安装教程(最简单版)

    JDK下载与安装教程(最简单版)小弟不才,这是最新,最简单的JDK下载与安装教程,希望对各位有所帮助。

    2022年6月6日
    40
  • el-scrollbar 优化滚动条样式

    el-scrollbar 优化滚动条样式element ui 隐藏组件 el scrollbar 优化滚动条样式

    2026年3月19日
    2
  • 普罗米修斯Prometheus监控神器

    普罗米修斯Prometheus监控神器文章目录一、普罗米修斯Prometheus安装配置1.1实验环境一、普罗米修斯Prometheus安装配置1.1实验环境在这里插入代码片

    2022年7月19日
    18
  • Fabio技术手册(1):概述和快速上手

    Fabio技术手册(1):概述和快速上手概述 Fabio 是一个 HTTP 和 TCP 反向代理 它使用来自 Consul 的数据配置自己 传统的负载均衡器和反向代理需要配置文件进行配置 配置包含代理转发到上游服务的主机名和路径 这个过程可以通过像 consul template 这样的工具来自动化 这些工具可以生成配置文件并触发重新加载 Fabio 的工作方式不同 因为它会在 Consul 存储的数据发生更改时直接更新路由表 而无需重新启动或重新加

    2026年3月18日
    2
  • 用针式打印机打印快递单子代替手写

    用针式打印机打印快递单子代替手写现代企业中会常常需要快递信件 文件 物品等等业务 那么这里就涉及到快递单子的填写 在填写快递单子的时候可能由于疏忽等等因素会出现以下几种情况的错误和缺点 1 字迹可能不工整 导致快递人员不能很清晰的辨认 2 填写错误 导致不能及时的快递到客户 3 手写影响效率改为机打以后的优点 1 字迹清晰工整 2 地址错误的概率有效降低 3 快递单子的填写效

    2026年3月17日
    2

发表回复

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

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