MySql常用函数介绍

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’

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值