函数TimeStampDiff()是MySQL本身提供的可以计算两个时间间隔的函数,语法为:TIMESTAMPDIFF(
FRAC_SECOND (microseconds), unit
,datetime_expr1
,datetime_expr2
),其中unit单位有如下几种,分别是:SECOND
,MINUTE
, HOUR
, DAY
, WEEK
, MONTH
, QUARTER
, or YEAR。
1.如想要去数据库里查询出该条记录的创建时间距离当前时间的间隔就可以用到该函数
比如创建如下一个表
CREATE TABLE `t_news` (
`nid` int(11) NOT NULL AUTO_INCREMENT COMMENT '新闻编号',
`cid` int(11) NOT NULL COMMENT '新闻分类',
`title` varchar(50) NOT NULL COMMENT '新闻标题',
`digest` varchar(100) DEFAULT NULL COMMENT '摘要',
`body` text NOT NULL COMMENT '新闻内容',
`source` varchar(20) NOT NULL DEFAULT '互联网' COMMENT '新闻来源',
`ptime` varchar(20) NOT NULL COMMENT '发布时间',
`imgsrc` varchar(100) DEFAULT NULL COMMENT '新闻图片',
`deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '0:false;1:true',
PRIMARY KEY (`nid`),
KEY `FK_t_news_t_category` (`cid`),
CONSTRAINT `FK_t_news_t_category` FOREIGN KEY (`cid`) REFERENCES `t_category` (`cid`)
) ENGINE=InnoDB AUTO_INCREMENT=24 DEFAULT CHARSET=utf8;
1.想要查询某条条记录具体当前的时间间隔(单位可以是(secound,hour,day,week))是多少.
SELECT TIMESTAMPDIFF(day,ptime,now()) as days FROM t_news where id=?;