MySQL常用的函数(后续一直更新。。。)

MySQL提供的函数有很多,如果掌握了这些函数可以提高我们代码的简洁性和灵活性。但函数太多也就只能记住那些常用的函数了,而那些不常用的函数可以不需要记住,但要像数据库的索引一般,把它的作用记在脑海里,知道有这么一个东西,然后写成笔记记下来,等要用的时候去脑海里查找,最后翻开笔记找到该函数。
这些函数是多次用到,主要是在查询时做一些条件和插入。函数不会很复杂,但要灵活使用就没那么简单了
日期函数
DATE_FORMAT(time,参数)

time为一个时间点,括号里放一些指定格式参数,最后返回一个指定的日期格式,括号里常用的几个参数如下,可放多个。可根据业务灵活使用来做一些筛选条件!

  • %j 返回该年的第x天
  • %s 秒
  • %i 分
  • %H 时
  • %d 日
  • %m 月值(1-12)
  • %Y 年
//返回2019-07
select  DATE_FORMAT('2019-07-19','%Y-%m')
//2019-11-12-09-47-39
select  DATE_FORMAT(now(),'%Y-%m-%d-%H-%i-%S')
DATE_SUB(time1,time2)

time1 为一个时间点,time2 为一个时间点间隔

  • 实例,筛选创建时间(create_time 字段)在三十天前 的数据,如改30为-30 则为现在时间的30天后的数据
where  create_time DATE_SUB(now(),INTERVAL 30 day);
  • day 可换成 MINUTE (分钟)、HOUR(小时)、WEEK(周)、MONTH(月)等参数
to_days()

放入一个日期,返回一个天数,就是从0年份开始的天数

//筛选的条件就为昨天前
where  to_days(now())-to_days(create_time)>1 
获取时间
  • now() 当前的年月日时分秒
select now()
  • curtime() 当前的时分秒
select curtime()
工具类函数
生成uuid
  • UUID()
select UUID()
  • REPLACE(UUID(),’-’,’’) 将’-'符号替换掉,生成没有“-”的uuid
select REPLACE(UUID(),'-','') 
拼接字符串
  • CONCAT(s1,s2,…),如果有为null的直接返回nnull
  • CONCAT_WS(x,s1,s2,…),每次拼接后都多一个x值
  • REPLACE(s,s1,s2) 在s字符串中用s2替代s1
字符串截取
  • left(str, length),从左边开始截取长度为3的字符串
  • right(str, length) ,从右边截取length长度的str
截取长度为3的字符串
select left('abcde',3)
结果:abc
  • substring(str, x); 从第x截取到结束
select substring('abcdef', 3);  
结果:cdef
  • substring(str, x, y) 从第x截取到y
select substring('abcdef', 4 , 5);  
结果:def
if 函数

IF(expr1,expr2,expr3)
expre1 为判断表达式,当expr1满足后则使用expr2,不满足则使用expr3

  • 例子
// 当flag字段为0时,不修改age字段,不等于0时则修改age字段为5
upta table set age = if(flag=0,age,5) where id= 1
去空
  • trim()
比较大小
  • between 关键字
//年龄在2到5岁之间
where age  between 2 and 5;
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值