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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • android加密设备,用于Android手机的加密设备和加密外部SD卡

    android加密设备,用于Android手机的加密设备和加密外部SD卡电话被盗或丢失后,隐私将被泄露.Android手机具有“加密设备”和“加密外部SD卡”功能.那么这两个功能有什么区别?加密设备加密设备后,内置SD卡上的所有数据将被加密.此部分主要用于保护和SMS的隐私.加密设备后,即使将设备重置为出厂设置也无法解密数据.加密的外部SD卡加密外部SD卡可以保护SD卡上的所有数据.这部分数据主要用于保护用户的某些图片和私人文件,并防止照片.如果未解密加…

    2022年5月16日
    41
  • java -jar 中没有主清单属性_idea中jar包已经导入但是还是报错

    java -jar 中没有主清单属性_idea中jar包已经导入但是还是报错idear打jar包报错:jar中没有主清单属性的一种解决办法

    2022年9月5日
    2
  • java程序一定会加载的包是哪个?

    java程序一定会加载的包是哪个?

    2021年7月16日
    60
  • 管理系统源码下载_资产管理系统源码

    管理系统源码下载_资产管理系统源码spring源码mybatis源码hibernate源码struts源码下载spring源码下载地址:http://www.maixiaogang.commybatis源码下载地址:https://github.com/mybatis/mybatis-3/releaseshibernate源码下载地址:http://hibernate.org/orm/downloads/strut…

    2022年9月23日
    0
  • html如何设置有序列表的列表项,HTML的有序列表

    html如何设置有序列表的列表项,HTML的有序列表针对HTML的有序列表,由于平常使用的不是很多,刚开始使用的时候也是有遇到一些坑,有几个小问题:1.li的宽度不能设置为100%,这样的话就没办法看到前面的序号2.如果设置li的颜色字体大小,前面的序号会跟着变化,但是给Li设置背景颜色,需要是不会有背景色的3.序号的所占空间约在两个字符之间,但是又不算在Li空间里面,所以在写css样式的时候可能要注意好有序列表有几种项目1项目2项目3第一个typ…

    2022年6月16日
    36
  • SpringBoot线程池使用

    SpringBoot线程池使用一、线程池管理配置类@Configuration@EnableAsyncpublicclassExecutorConfig{privatestaticfinalLoggerlogger=LoggerFactory.getLogger(ExecutorConfig.class);@BeanpublicExecutorasyncTaskS…

    2022年6月16日
    29

发表回复

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

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