mysql处理字符常用函数

1.SUBSTR()截取特定位置的字符

SUBSTR(str,pos,len)
1.str 需要处理的字段
2.pos 截取开始位置
3.len 截取长度
例1:SELECT SUBSTR(‘202007312058’,1,8);
从第1位截取共截取长度为8
在这里插入图片描述
例2:SELECT * FROM loan_amount WHERE SUBSTR(data_date,1,8) = DATE_FORMAT(NOW(),’%Y%m%d’);
data_date字段存的是‘’年月日时‘’,可通过截取后筛选今年数据
mysql处理字符常用函数_第1张图片
例:我之前碰到一个需求是关于字段脱敏的:一个编号是18-20位(不确定),需要保留前六位后四位,中间部分用替代:
SELECT ins_nm,CONCAT(SUBSTR(ins_nm,1,6),SUBSTR(’
***********’,1,LENGTH(ins_nm)-10),SUBSTR(ins_nm,-4,4)) FROM tbl_chatcl_admin;
mysql处理字符常用函数_第2张图片
其中用到CONCAT()字符串拼接,LENGTH()获取字符串长度下面会详细讲解用法,这个SQL可能在纯功能测试时感觉意义不大,可能会说,我一眼就看穿了,何必写这个SQL呢,但是如果有接口自动化测试时,就必须有进行处理,多(少)一个※都是不对的。

2.REPLACE()指定字符替换成指定字符

REPLACE(str,from_str,to_str)
1.str 需要处理的字段
2.from_str 需要替换的字符
3.to_str 替换后的字符
例1:字段去空格
mysql处理字符常用函数_第3张图片
例2:指定日期替换
UPDATE tbl_chatcl_admin SET create_at = REPLACE(create_at,‘2020-05-11’,DATE_FORMAT(NOW(),’%Y-%m-%d’));
这个方法可以节省造数时间,今天造一下数据,明天改一下日期就可以直接用了
在这里插入图片描述

mysql处理字符常用函数_第4张图片

3.CONCAT()字符串拼接

CONCAT(str1,str2,…)
这个用法看到这个函数可能就知道到,各种字符str1,str2,…拼接,挨着传字符就可以了

例:SELECT CONCAT(‘射手:’,‘百里’,‘守约’)
射手:百里守约

4.CAST()表达式类型转换

CAST(expr AS type)
1.espr 需要转类型的表达式
2. AS 固定格式
3. type 想要转换的类型

tpye type
SIGNED 整数
DECIMAL 浮点数
UNSIGNED 无符号整数
DATETIME 日期时间型
VARCHAR 字符串
TIME 时间
DATE 日期

5.TRIM()去前后空格

SELECT TRIM(’ 666 ‘);
SELECT TRIM(’ 666’);
SELECT TRIM('666 ');

6.LPAD()左补位

SELECT LPAD(5,2,0);

7.RPAD()右补位

SELECT LPAD(5,2,0);
SELECT RPAD(5,2,0);

8.LENGTH()获取字符串长度

SELECT LENGTH(123456789)

你可能感兴趣的:(数据库)