微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

牛客网sql28该题需多看解答,思路多多

题目:计算用户8月每天的练题数量

题解:1函数公式

#获取当前系统的日期时间
SELECT Now(); # 2021-12-22 13:50:58

#获取当前系统的日期
SELECT CURDATE(); # 2021-12-22

#获取当前系统的时间
SELECT CURTIME(); # 13:53:11

2.日期提取

#从日期格式的字符串中获取年、月、日、时、分、秒 ,示例字符串:2021-12-22 13:50:58
# 使用函数 extract(type from data)

SELECT EXTRACT(YEAR FROM '2021-12-22 13:50:58'); # 2021

SELECT EXTRACT(MONTH FROM '2021-12-22 13:50:58'); # 12

SELECT EXTRACT(DAY FROM '2021-12-22 13:50:58'); # 22

SELECT EXTRACT(HOUR FROM '2021-12-22 13:50:58'); # 13

SELECT EXTRACT(MINUTE FROM '2021-12-22 13:50:58'); # 50

SELECT EXTRACT(SECOND FROM '2021-12-22 13:50:58'); # 58

3.日期增加或者减少

#日期增加,使用函数date_add(date,INTERVAL exp type)
#增加1天
SELECT DATE_ADD('2021-12-22 13:50:58', INTERVAL 1 DAY);  # 2021-12-23 13:50:58
#增加1小时
SELECT DATE_ADD('2021-12-22 13:50:58', INTERVAL 1 HOUR);  # 2021-12-23 14:50:58

#日期减少,使用函数date_sub(date,INTERVAL exp type)
# 减少1天
SELECT DATE_SUB('2021-12-01 13:50:58', INTERVAL 1 DAY); # 2021-11-30 13:50:58

#其他间隔
INTERVAL 1 YEAR
INTERVAL 1 MONTH
INTERVAL 1 DAY
INTERVAL 1 HOUR
INTERVAL 1 MINUTE
INTERVAL 1 SECOND

4.日期格式化

#日期格式化,注意MysqL中日期时间格式化字符串的写法:'%Y-%m-%d %H:%i:%s'
SELECT DATE_FORMAT('2021-12-01 13:50:58', '%Y/%m/%d %H:%i:%s'); # 2021/12/01 13:50:58

5.截取

格式1:
    1、string 需要截取的字符串
    2、a 截取字符串的开始位置(注:当a等于0或1时,都是从第一位开始截取
    3、b 要截取的字符串的长度

格式2:
    1、string 需要截取的字符串
    2、a 可以理解为从第a个字符开始截取后面所有的字符串。
 

select day(date) day,count(question_id) question_cnt from 
question_practice_detail where date_format(date,'%Y-%m')='2021-08'
group by day

原文地址:https://www.jb51.cc/wenti/3281569.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐