SQL常用函数系列——8个常用的字符函数
数据库函数是一种具有某种功能的模块,可以接收零个或多个输入值,并且返回一个输出值。MySQL 为我们提供了许多用于处理和分析数据的系统函数,今天小小继续给大家连载MySQL常用函数——字符函数。
1 CONCAT
CONCAT(str1,str2,…)函数用于返回多个字符串连接之后的字符串,例如:
SELECT CONCAT( 'MySQL', '字符串', '函数');
输出:MySQL字符串函数
2 LOWER
LOWER(str)和LCASE(str)函数用于将字符串转换为小写形式,例如:
SELECT LOWER( 'MySQL字符串函数')
, LCASE( 'MySQL字符串函数') ;
输出:mysql字符串函数|mysql字符串函数|
3 UPPER
UPPER(str)和UCASE(str)函数用于将字符串转换为大写形式,例如:
SELECT UPPER( 'MySQL字符串函数')
, UCASE( 'MySQL字符串函数') ;
输出:MYSQL字符串函数|MYSQL字符串函数|
4 LENGTH
LENGTH(str)和OCTET_LENGTH(str)函数用于返回字符串的字节长度,例如:
SELECT LENGTH( 'MySQL字符串函数')
, OCTET_LENGTH( 'MySQL字符串函数') ;
输出:20| 20|
在 utf8mb4 编码中,一个汉字字符占用 3 个字节。另外,CHAR_LENGTH(str)和CHARACTER_LENGTH(str)函数用于返回字符串的字符长度,也就是字符个数。
5 SUBSTRING
SUBSTRING(str,pos)、SUBSTRING(str FROM pos)、SUBSTRING(str,pos,len)以及SUBSTRING(str FROM pos FOR len)函数都可以用于返回从指定位置 pos 开始的子串,len 表示返回子串的长度;pos 为 0 表示返回空字符串。例如:
SELECT SUBSTRING( 'MySQL字符串函数', 6) ,
SUBSTRING( 'MySQL字符串函数'FROM 6) ,
SUBSTRING( 'MySQL字符串函数', 6, 3),
SUBSTRING( 'MySQL字符串函数'FROM 6 FOR 3),
SUBSTRING( 'MySQL字符串函数', 0) ;
输出:字符串函数|字符串函数|字符串 |字符串 | |
另外,SUBSTR和MID函数都是 SUBSTRING 函数的同义词,也支持以上 4 种形式。
6 TRIM
TRIM([remstr FROM] str)函数用于返回删除字符串 str 两侧所有 remstr 字符串之后的子串,remstr 默认为空格。例如:
SELECT TRIM( ' MySQL字符串函数 ') ,
TRIM( '-'FROM'--MySQL字符串函数--') ;
输出:MySQL字符串函数|MySQL字符串函数|
7 LPAD/RPAD
LPAD(str,len,padstr)函数表示字符串 str 的左侧使用 padstr 进行填充,直到长度为 len;RPAD(str,len,padstr)函数表示在字符串 str 的右侧使用 padstr 进行填充,直到长度为 len。例如:
SELECT LPAD( 123, 6, '0') ,
LPAD( 123, 2, '0') ,
RPAD( 123, 6, '0') ,
RPAD( 123, 2, '0') ;
输出:000123|12 |123000|12 |
当字符串 str 的长度大于 len 时,相当于从右侧截断字符串。
另外,REPEAT(str,count)函数用于将字符串 str 复制 count 次并返回结果。例如:
SELECT REPEAT( '🔥', 5) ;
输出:🔥🔥🔥🔥🔥|
8 INSTR
INSTR(str,substr)函数用于返回子串 substr 在字符串 str 中第一次出现的索引位置,没有找到子串时返回 0。例如:
select INSTR( 'MySQL字符串函数', '字符串') ,
INSTR( 'MySQL字符串函数', '日期') ,
INSTR( 'MySQL字符串函数', '') ,
INSTR( 'MySQL字符串函数', null) ;
输出:6| 0| 1| |
另外,LOCATE(substr,str)函数也可以用于返回子串 substr 在字符串 str 中第一次出现的索引位置,和 INSTR(str,substr) 函数唯一的不同就是参数的顺序相反。
来 源:小小的SQL学习笔记/作 者:小小
文章转自公众号:openGauss