MySQL常用函数

1、日期加减

①获取一年前的时间

date_add

date_add( '2022-07-07', INTERVAL - 1 YEAR )

注:后面的YEAR,也可以是quarter 季;week 周;day  天;hour: 小时;minute  分钟;second  秒;  microsecond  毫秒;

②datediff(date1,date2),两个日期相减,date1减去date2得到两个日期相差的天数

③timediff(time1,time2),time1减去time2,得到差值

④TIMESTAMPDIFF(MINUTE, 开始时间, 结束时间) as 时间差

TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2)

参数:

SECOND 秒 SECONDS 
MINUTE 分钟 MINUTES 
HOUR 时间 HOURS 
DAY 天 DAYS 
MONTH 月 MONTHS 
YEAR 年 YEARS

2、求和SUM()

3、ROUND(X,D) 

将X的值保留D位小数

4、YEAR()

函数可以从指定日期值中来获取年份值

YEAR() 函数需要接受 date 参数,并返回日期的年份。语法格式如下:

YEAR(date);

YEAR() 函数返回的年份值范围为 1000 到 9999,如果日期为零,YEAR() 函数返回 0。

5、MySQL获取本年第一天 

SELECT DATE_SUB(CURDATE(),INTERVAL dayofyear(now())-1 DAY);

6、EXTRACT()

用来提取日期的一部分

EXTRACT(unit FROM date)

EXTRACT()函数需要两个参数:unit和date。

unit是要从日期中提取的间隔。 以下是unit参数的有效间隔。

DAY

DAY_HOUR

DAY_MICROSECOND

DAY_MINUTE

DAY_SECOND

HOUR

HOUR_MICROSECOND

HOUR_MINUTE

HOUR_SECOND

MICROSECOND

MINUTE

MINUTE_MICROSECOND

MINUTE_SECOND

MONTH

QUARTER

SECOND

SECOND_MICROSECOND

WEEK

YEAR

YEAR_MONTH


7、date_sub(date,interval expr type)

函数从日期减去指定的时间间隔

date_sub('2019-07-27', interval 30 day)  表示往前推30天

8、DAYOFYEAR(date)

到date日期,今年过了多少天

9、DAYOFWEEK(date)

date日期是本周的第几天,这个函数从周日开始为第一天;

10、DAYOFMONTH(date)

date日期,在本月的第几天

11、MOD(N,M)取余

对N/M取余,可用来判断奇数和偶数  mod(N,2) = 1 为奇数, mod(N,2) = 0 为偶数

12、LEFT(str,len)截取

将str字符串从左边开始截取len个字符

13、RIGHT(str,len)

从右边开始截取字符串,len是截取的长度

14、UPPER(str)

将字符串中所有字符转换为大写

15、LOWER(str)

将字符串中所有字符转换为小写

16、CONCAT(str1,str2,...)

字符串拼接

17、SUBSTRING(str, begin, end)

截取字符串,end 不写默认为空。

SUBSTRING(name, 2) 从第二个截取到末尾,注意并不是下标,就是第二个。

18、group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符'])

把同一字段1 下的字段2 拼接起来

效果演示①

SELECT id,GROUP_CONCAT(score) from score GROUP BY id;

效果演示

SELECT id,GROUP_CONCAT(DISTINCT score) from score GROUP BY id;

 效果演示②

SELECT id,GROUP_CONCAT(DISTINCT score ORDER BY score DESC) from score GROUP BY id;

  效果演示③

SELECT id,GROUP_CONCAT(DISTINCT score ORDER BY score DESC SEPARATOR ";") from score GROUP BY id;

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值