文章目录
一、删除空格函数TRIM()、LTRIM()、RTRIM()1、TRIM()2、LTRIM()3、RTRIM() 二、填充函数LPAD()、RPAD()1、LPAD()2、RPAD() 三、字符串长度LENGTH()、CHAR_LENGTH()1、LENGTH()2、CHAR_LENGTH()前言:在实际的项目开发中有时会有对数据库某些字段填充等需求,这种场景有时直接通过数据库操作比通过代码实现要方便些,而mysql提供了这样字符串函数可以用来处理这些需求,例如:LPAD()等。
一、删除空格函数TRIM()、LTRIM()、RTRIM()
1、TRIM()
语法:TRIM(str),将传入参数str是前后空格都删除select TRIM(' JingLiPoSuo ');
结果为:JingLiPoSuo
2、LTRIM()
语法:LTRIM(str),将传入参数str是左边空格删除select LTRIM(' JingLiPoSuo ');
结果为:JingLiPoSuo
3、RTRIM()
语法:RTRIM(str),将传入参数str是右边空格删除select RTRIM(' JingLiPoSuo ');
结果为: JingLiPoSuo
二、填充函数LPAD()、RPAD()
1、LPAD()
语法:LPAD(str1,length,str2)。其中str1是第一个字符串,length是结果字符串的长度,str2是一个填充字符串。如果str1长度小宇length长度,则使用str2填充;如果str1的长度大于length,则截断。1、如果str1的长度大于length,则截断。
select LPAD('JingLiPoSuo',5,'zhao');
结果为:JingL
2、如果str1长度小于或等于length长度,则使用str2填充
select LPAD('JingLiPoSuo',14,'zhao');
结果为:zhaJingLiPoSuo
select LPAD('JingLiPoSuo',15,'zhao');
结果为:zhaoJingLiPoSuo
select LPAD('JingLiPoSuo',16,'zhao');
结果为:zhaozJingLiPoSuo
2、RPAD()
语法:RPAD(str1,length,str2)。其中str1是第一个字符串,length是结果字符串的长度,str2是一个填充字符串。如果str1长度小宇length长度,则使用str2填充;如果str1的长度大于length,则截断。1、如果str1的长度大于length,则截断。
select RPAD('JingLiPoSuo',5,'zhao');
结果为:JingL
2、如果str1长度小于或等于length长度,则使用str2填充
select RPAD('JingLiPoSuo',14,'zhao');
结果为:JingLiPoSuozha
select RPAD('JingLiPoSuo',15,'zhao');
结果为:JingLiPoSuozhao
select RPAD('JingLiPoSuo',16,'zhao');
结果为:JingLiPoSuozhaoz
三、字符串长度LENGTH()、CHAR_LENGTH()
1、LENGTH()
语法:LENGTH(str),返回结果为字符串长度1、字符串str为英文
select LENGTH('JingLiPoSuo')
结果为:11
2、字符串str为汉字
select LENGTH('境里婆娑')
结果为:12
由上面小实验可以看出:英文占1个长度,汉字占3个长度
2、CHAR_LENGTH()
语法:CHAR_LENGTH(str),返回结果为字符串长度select CHAR_LENGTH('境里婆娑')
结果为:4
由此可以看出char_length取得字符串的长度。