其他分享
首页 > 其他分享> > 日期小函数

日期小函数

作者:互联网

  在mysql 里提供了一些有意思的日期小函数,虽然多,但实用的没几个,比如下面这个栗子

  定义一张题目练习记录表,其中 question_id 代表题目,date 代表日期

CREATE TABLE `question_practice_detail` (
`id` int NOT NULL,
`device_id` int NOT NULL,
`question_id`int NOT NULL,
`result` varchar(32) NOT NULL,
`date` date NOT NULL
);

  

  插入部分数据如下

 

 

   

  如上图所示,只要排除了其他月份,统计8月份每天的条数即可

SELECT
	DAYOFMONTH(date) DAY,
	count(question_id) question_cnt
FROM
	question_practice_detail
WHERE
	MONTH (date) = 8
GROUP BY
	DAY

  

  其中,使用到了两个日期函数,DAYOFMONTH 得到每月几号,即 1~31 ,MONTH 得到的是月份,即 1~12  。这里的参数类型可以是 date,或者 datetime,甚至是字符串

  类似的,除了 MONTH ,还有 YEAR ,HOUR,MINUTE,SECOND ,除了4位年份,时的范围 0~23,分秒的范围都是 0~59,不补零

  

  如果需要操作月份,比如增加或减少指定月份的月份,可以使用 PERIOD_ADD 函数,当然,也只能是指定的月份,格式为 YYYYMM 或者 YYMM,其他的都不对。该函数返回的是 YYYYMM格式,可以识别到跨年。

  再比如计算两个月份之间相差的月份 PERIOD_DIFF 函数,当然,也只能是指定的月份,格式为 YYYYMM 或者 YYMM,返回的是前面的月份减去后面的月份,可能为负值。

  

 

标签:函数,月份,question,日期,date,NULL,id
来源: https://www.cnblogs.com/yuan404/p/16267621.html