深入浅出MySQL(一) Mysql里面经常用到的函数总结

在Mysql里面count,max,sum,avg,这些都是一些经常用到的函数,但是除了这些以外,今天我们来了解一些别的函数。

字符串类型函数

1.Concat函数:
select CONCAT(“aaa”,”bbb”,”ccc”) as finalName;
运行的结果如下:
这里写图片描述

这个函数的作用在于,将几个字符串链接在一起,然后将其拼接显示出来。

2.Insert函数:
select INSERT(“teststr”,5,7,” this is a test”) as finalName
这里写图片描述

这个函数的作用在于,将字符串teststr里面的第5-7位的内容给替换掉,然后将其拼接显示出来。

3.Upper函数
select UPPER(classroom) from unit;
这里写图片描述
经过测试,这个函数对于中文字符好像无效果。

4.Lower函数
select LOWER(classroom) from unit;
这里写图片描述
该函数主要用于将字符变换为小写内容

5.Repeat函数
select REPEAT(‘mysql ‘,3)
这里写图片描述
主要作用是重复某个字符串n次

6.Strcmp函数
select STRCMP(‘a’,’b’) as finalName
这里写图片描述
比较字符串的大小

7.Trim函数
select TRIM(” hah ha “) as finalName
这里写图片描述
只会将字符串左右两边的空格给清空


数字函数

1.CEIL函数
返回大于(x)里面的x值的最小整数
select CEIL(-0.8) , CEIL(0.8)
这里写图片描述

2.FLOOR(x)函数
返回小于 x 的最大整数,和 CEIL 的用法刚好
select FLOOR(-0.8) , FLOOR(0.8)
这里写图片描述

3.MOD(x,y)函数
返回 x/y 的模。
select MOD(15,12)
这里写图片描述

4.RAND()函数:
返回 0 到 100内的随机
select RAND()*100
这里写图片描述

利用此函数可以取任意指定范围内的随机数,比如需要产生 0~100 内的任意随机整数,可
以操作如下:
这里写图片描述


日期函数

关于日期函数,我觉得这个挺实用的:
1. CURDATE() 返回年月日
select CURDATE()
这里写图片描述

2.CURTIME()
返回时分秒
select CURTIME()
这里写图片描述

3.UNIX_TIMESTAMP()
返回时间戳
select UNIX_TIMESTAMP()
这里写图片描述

4.YEAR
返回年份:
select YEAR(‘2008-12-05’)
这里写图片描述

5.MONTH
返回月份
select MONTH(‘2008-12-05’)
这里写图片描述

当然光是这样做一些简单的练习是往往不够的,我们还需要结合一些实际的场景来进行深入认识:

例如说:
查询出距离今天30天以后的日期:

select now() current, DATE_ADD(NOW(),INTERVAL 31 DAY) after_30_daye,
DATE_ADD(NOW(),INTERVAL '1_3' YEAR_MONTH) after_oneyear_month

这里写图片描述

距离今天1年3个月以后的日期:

select CURRENT_DATE() current ,DATE_ADD(CURRENT_DATE(),INTERVAL 30 day) after_30_Days,
DATE_ADD(CURRENT_DATE(),INTERVAL 60 DAY) after_60_days

这里写图片描述

查询出距离某一天还有多少天日期:
select DATEDIFF(‘2018-8-29’ ,NOW())
这里写图片描述


流程函数:

这类型的函数主要是用于在sql语句里面做较为复杂的逻辑处理的时候所运用的,它对于sql的效率方面能够有所提高:
这里写图片描述
我们还是结合一个场景来进行案例说明会比较好:
下面的例子中模拟了对职员薪水进行分类,这里首先创建并初始化一个职员薪水表:

   create table salary (userid int,salary decimal(9,2)   

然后插入相关数据:

   insert into salary values(1,1000),(2,2000), (3,3000),(4,4000),(5,5000), (1,null);    

1.if函数

select if(salary>2000,'high','low') from salary

这里写图片描述
用户可以使用这类函数在一个 SQL 语句中实现条件选择,这样做能够提高语句的效率:

2.ifnull函数
通过使用IFNULL函数,可以让一些不能参加运算的null值,变为自己希望的值

select IFNULL(level,'0') from salary

结果如图:
这里写图片描述

3.case函数
对于比较复杂的条件操作里面,我们可能会要写很多个if语句,那么这个时候不妨可以试试通过一些case函数来进行过滤判断,例如说常规常见的案例,对于员工的薪水等级进行划分

SELECT
    CASE
WHEN salary.salary<=1000 THEN
    'low'
WHEN salary.salary>=2000 
AND salary.salary<=5000 THEN
  'mid'
ELSE 'high'
END
 FROM 
salary;

感兴趣的读者也可以关注小编的个人公众号,我会定期在上边分享一些有价值的java知识内容

这里写图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值