MySQL 替换和截取指定位置字符串 您所在的位置:网站首页 sql替换字段中的某个字符 MySQL 替换和截取指定位置字符串

MySQL 替换和截取指定位置字符串

2024-07-04 17:10| 来源: 网络整理| 查看: 265

1.情景展示

  返回服务器的身份证号需要进行加密:只保留前4位和后3位,中间使用*代替,如何实现? 

2.场景分析

  需要用到的函数有:IFNULL(),IF(),LENGTH(),REPLACE(),SUBSTR(),这里重点介绍一下REPLACE()和SUBSTR()。

  REPLACE(str,from_str,to_str)

  介绍:将字符串中部分字符串替换指定的字符串,并返回替换后的整个字符串;

MySQL 替换和截取指定位置字符串_字符串

 

  SUBSTR(str FROM pos FOR len)  介绍:从字符串中指定位置开始截取,并截取指定长度。

MySQL 替换和截取指定位置字符串_字符串_02

  这里需要注意的是:

  不同于Java,pos的最小值是1,而不是0,并且将会从pos的位置进行截取(包含pos对应的值)。 

MySQL 替换和截取指定位置字符串_mysql_03

  另外,pos的值可以是负数,即:从后往前查,起始值为-1。  

3.解决方案SELECT IFNULL( IF ( t.PAYERPARTYTYPE = 1, IF ( LENGTH( T.PAYERPARTYCODE ) = 18, REPLACE ( T.PAYERPARTYCODE, SUBSTR( T.PAYERPARTYCODE FROM 5 FOR 11 ), '***********' ), REPLACE ( T.PAYERPARTYCODE, SUBSTR( T.PAYERPARTYCODE FROM 5 FOR 8 ), '********' )), T.PAYERPARTYCODE -- 当PAYERPARTYTYPE不等于1时,不对PAYERPARTYCODE做处理 ), '' -- PAYERPARTYCODE为null时,将显示空 ) PAYERPARTYCODE, t.PAYERPARTYTYPEFROM `cz_fet_main_mz` t WHERE t.PAYERPARTYCODE IS NOT NULL LIMIT 10;

MySQL 替换和截取指定位置字符串_mysql_04

2021年11月28日13:11:47

4.mysql截取字符串

MySQL字符串截取函数:left(), right(), substring(), substring_index(), mid(), substr()。其中,mid(), substr() 等价于 substring() 函数。

left(str, length)

从字符串左侧开始截取指定长度。

right(str, length)

从字符串右侧开始截取指定长度。

substring(str, pos)与SUBSTRING(str FROM pos)

二者用法一致:从字符串指定位置开始截取,直到结束

substring(str,pos,len)与SUBSTRING(str FROM pos FOR len)

二者用法一致:从字符串指定位置开始截取,指定长度的字符串说明:

当pos为正数时,表示:从字符串左侧开始计数并截取,起始值为1;

当pos为负数时,表示:从字符串右侧开始计数并截取,起始值为-1;

示例:

select SUBSTRing('Marydon2021',1,3);select SUBSTRing('Marydon2021',0,3);select SUBSTRing('Marydon2021',-1,3);

MySQL 替换和截取指定位置字符串_mysql_05

 

写在最后

  哪位大佬如若发现文章存在纰漏之处或需要补充更多内容,欢迎留言!!!

作者:​​Marydon​​



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有