MySql常用函数介绍

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/samuelandkevin/article/details/80579089

1.ifnull用法

eg:

ifnull(b.member_count, 0) member_count

2.IF用法

格式:IF(value,exp1,exp2),
描述:如果value == TRUE , 执行exp1 ;value == FALSE ,则执行exp2。
eg:

IF (
    length(trim(b.group_name)) > 0,
    b.group_name,
    group_concat(

        IF (
            length(trim(e.user_name)) > 2,
            RIGHT (e.user_name, 2),
            e.user_name
        ) SEPARATOR '+'
    )
) session_user_name

3.contact函数

作用:将多个字符串连接。
格式:contact(str1,str2,…)
注意:若其中一个字符串为null,则返回值是null
eg:

//info字段不存在分隔符
select concat (id, name, score) as info from Student
//info字段“,”分隔符
select concat (id, ‘,’,name, ‘,’,score) as info from Student

4.contact_ws()函数

作用:将多个字符串连接,并且制定分隔符
格式:contact_ws(separator,str1,str2)
eg:

//info字段“,”分隔符
select concat_ws (‘,’,id, name, score) as info from Student

5.group by函数

作用:按照字段进行分组
格式:group by 字段
eg:
在学生表中查找相同name中最小id:

select name,min(id) from student group by name;

注意,如果是查找学生表中相同名字所有id:

select name,id from student order by name;

6.group_contact()函数

作用:将group by 产生的同一个分组中的值连接起来,返回一个字符串结果。
格式:group_contact([distinct] 要连接的字段 [order by 排序字段 asc/desc] [separator ‘分隔符’])
注意: distinct 去重,order by 排序 ,separator 分隔符 ,分隔符默认是“,”
eg:
使用group_contact()和group by 显示相同名字的人的id:

select name ,group_contact(id) from student group by name;

结果:

name      group_contact(id)
小丽        3
小明        1,5,6
小王        2,4

将上面的id号从大到小排序,分隔符“_”:

select name,group_contact(id order by id desc separator ‘_’)  from student group by name;

结果:

name      group_contact(id order by id desc separator ‘_’)
小丽        3
小明        6_5_1
小王        4_2

查询以name分组的所有组的id和score:

select name ,group_contact(contact_ws(“,”,id,score) order by id ) from student group by name;

结果:

name      group_contact(contact_ws(“,”,id,score) order by id )
小丽        3-0
小明        1-0,5-0,6-0
小王        2-0,4-0

7.length()函数

作用:统计字符串长度,单位:字节。
格式:length(str)
eg:

select length("text");

结果:

4

8.trim()函数

功能:裁剪字符串空白处。
格式:TRIM(字串)
注意:LTRIM(字串): 将所有字串起头的空白移除。
RTRIM(字串): 将所有字串结尾的空白移除。
eg:

SELECT TRIM('   Sample   ');
SELECT LTRIM('   Sample   ');
SELECT RTRIM('   Sample   ');

结果:

'Sample'
'Sample   '
'   Sample'

9.left(),right()函数

功能:LEFT、RIGHT函数返回的是传入参数最左边、右边的长度为LENGTH个的字符串。
格式:LEFT(参数,LENGTH)、RIGHT(参数,LENGTH)
eg:

select left('abcdefg',3) from a;

结果:

left('abcdefg',3)
abc 

10.alert table 增加列,修改列

alter table tax_link ADD COLUMN page_id int(32) DEFAULT NULL COMMENT ‘页面id’

猜你喜欢

转载自blog.csdn.net/samuelandkevin/article/details/80579089