1、concat()
SELECT concat("username","admin");
/*输出结果:usernameadmin*/
select concat("username","-","admin");
/*输出结果:username-admin*/
SELECT concat("username",":","admin","||","password",":","123456");
/*输出结果:username:admin||password:123456*/
concat()函数用于连接字符串,在两个参数之间可以指定分隔符,如果有多个参数,可以两两之间添加指定的分隔符(所谓的分隔符本质上是字符串参数,只不过连接后可以起到分隔符的作用,如果多个参数之间都需要添加同样的分隔符,则可以使用下面的函数,不然的话每两个字符串参数之间都需要添加分隔符字符串)
2、concat_ws()
SELECT concat_ws("-","username","admin");
/*输出结果:username-admin*/
SELECT concat_ws("-","A","B","C","D");
/*输出结果:A-B-C-D*/
concat_ws()函数用于连接字符串,第一个参数为指定的分隔符,该函数只能指定一个分隔符,除了第一个参数外,其余的参数都会被当做需要被连接的参数
3、format()
SELECT format(15462.125,2);
/*output:15,462.13*/
SELECT format(15426.124,0);
/*output:15,426*/
format()用于格式化数字,虽然参数不是字符类型,但是返回的是一个字符串,第一个参数表示要格式化的字符串,第二个参数表示小数点后保留多少位。
4、lower()、upper()
SELECT lower("MYSQL");
/*output:mysql*/
SELECT upper("mysql");
/*output:MYSQL*/
lower()、upper()分别为将字符串转换为小写和将字符串转换为大写。
4、left()、right()
SELECT left("MySql",2);
/*output:My*/
SELECT lower(left("MySql",2));
/*output:my*/
SELECT right("MySql",3);
/*output:Sql*/
SELECT upper(right("MySql",3));
/*output:SQL*/
left()、right()分别是获取字符串的左边多少位和右边多少位,left()、right()还可以和其他字符串函数组合使用,如lower()、upper()。
6、length()
SELECT length("abcd efg");
/*output:9*/
length()函数用于获取字符串的长度,空格也会被算进去。
7、ltrim()、rtrim()、trim()
SELECT length(" abcd");/*output:6*/
SELECT length(ltrim(" abcd"));/*output:4*/
ltrim()函数用于删除字符串的前导空格;
SELECT length("abcd ");/*output:6*/
SELECT length(rtrim("abcd "));/*output:4*/
rtrim()函数用于删除字符串的后续空格;
SELECT trim(" ab cd ");/*output:ab cd*/
trim()函数用于删除字符串的前导和后续空格,如果字符串中间有空格,是无法删除的。
8、replace()
SELECT replace("ab cd"," ","");/*output:abcd 可以解决上述trim无法删除中间空格的问题*/
SELECT replace("??ab??cd???","??","!");/*output:!ab!cd!? 最后一个为?是因为没有另一个?与它组成??*/
replace()函数用于替换字符串中指定的字符,第一个参数表示需要替换指定字符的字符串,第二个参数表示被替换的字符或字符组合,第三个参数表示用来替换的字符或字符组合。
9、subtring()、substr()
select substr("abcd",1,3);/*output:abc*/
SELECT substring("abcd",1,3);/*output:abc*/
SELECT substr("abcd",2);/*output:bcd*/
SELECT substring("abcd",2);/*output:bcd*/
subtring()、substr()用于截取字符串,第一个参数表示被截取的字符串,第二个参数表示截取的开始位置,第三个参数表示截取的长度,如果没有指明截取的长度,则从第二个参数指定的开始位置一直截取到末尾。开始位置可以为负值,表示倒数截取,但是长度不能为负值。