ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

Mysql内容查找替换

2021-12-21 20:33:06  阅读:188  来源: 互联网

标签:index product name -- 截取 substring 查找 Mysql 替换


前言

基本上用java的都是用的Mysql数据库来进行数据的存储服务。

Mysql里面有很多自带的查找函数,掌握它其实是很有必要的。

今天和大家分享的是如何进行内容的查找替换操作。

背景

有个数据字段product_name,因为前期设计的原因,将中英文保存到了一起。假如存储内容如下:

帕图斯酒庄红葡萄酒(Petrus, Pomerol, France)

因为业务的变动,需要对其拆分,使用两个字段来进行存放。

解决思路

常规解决思路:

1、使用instr函数找到拆分的位置 ;

2、使用substring进行截取

3、然后使用替换函数替换掉( 和 )

组合起来就是

-- 获得中文名称

substring(product_name,instr(product_name,'('),1)

-- 获得英语名称

REPLACE(REPLACE(substring(product_name,instr(product_name,...

大家会发现,如果按照常规解题思路来,发现嵌套太深。

有没有简单点的呢?

这个还真有

快速解决思路

这里推荐大家使用substring_index

substring_index里面可以使用负数哦。

substring_index(str,delim,count) 
说明:substring_index(待截取有用部分的字符串,截取数据依据的字符,截取字符的位置N) 

还是解决原来的那个问题

 -- 获得中文名称

substring_index(product_name,'(',1)

-- 获得英语名称

REPLACE(substring_index(product_name,'(',-1),')','') 

看起来是不是简单了很多。

总结

没事多看看官方文档

标签:index,product,name,--,截取,substring,查找,Mysql,替换
来源: https://blog.csdn.net/m290345792/article/details/122072224

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有