MySQL字符函数

1.concat

 select concat(first_name,last_name) as full_name from string_test;

concat就是将多个字符串连接起来,其中可以指定分隔符(其实就是将字符串' - '原样输出,达到一种假的分隔效果),如下:

select concat(first_name,'-',last_name) as full_name from string_test;

2.concat_ws

 select concat_ws('-',first_name,last_name) as full_name from string_test;

注意:concat_ws的分隔符是在第一个参数,它与concat有什么不同?如下:

 select concat("|","A","B","C");

 

用concat_ws能让每个单词之间都存在分隔符,达到真正的分隔效果,我们来看看concat:

select concat("|","A","B","C");

3.format()

select format(19986.78,1);

format接受两个参数,第一个参数表示要格式化的数,第二个参数表示保留小数点的位数,其中会按照四舍五入保留有效数字。

select format(19986.78,2);

3.lower()

select lower('MYSQL');

lower()函数就是将字符串转换为小写,上面的代码执行结果如下:

3.upper()

效果与lower相反

4.left()

获取字符串左侧的字符,接受两个参数,第一个参数是要获取的母串,第二个参数是获取的长度,如下:

select left('mysql',2);

上面的函数表达的意思是:从mysql的左侧获取长度为2的字符串。

5.right()

获取右侧的字符串,与left的用法一样。

6.length()

获取字符串的长度

select length('mysql');

7.ltrim()

删除前导空格

8.rtrim()

删除后续空格

9.trim()

删除前导和后续空格

如果一个字符串是这样的===>"???MySQL????"

那么怎么删除前导问号和后续问号呢?如下:

删除前导问号:

select trim(leading "?" from "???MySQL????");

leading表示的就是前导的意思。

删除后续问号: 

 select trim(trailing "?" from "???MySQL????");

删除所有问号:

select trim(both "?" from "???MySQL????");

原文地址:https://www.cnblogs.com/hzStudy/p/7289339.html