您的位置:首页 > 数据库 > MySQL

mysql查询当天所有数据以及常用日期函数总结

2017-03-05 09:50 501 查看
创建表
DROP TABLE IF EXISTS `onethink_member`;
CREATE TABLE `onethink_member`(
`uid`int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '用户ID',
`nickname`char(16) NOT NULL DEFAULT '' COMMENT '昵称',
`sex`tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '性别',
`birthday`date NOT NULL DEFAULT '0000-00-00' COMMENT '生日',
`qq`char(10) NOT NULL DEFAULT '' COMMENT 'qq号',
`score`mediumint(8) NOT NULL DEFAULT '0' COMMENT '用户积分',
`login`int(10) unsigned NOT NULL DEFAULT '0' COMMENT '登录次数',
`reg_ip`bigint(20) NOT NULL DEFAULT '0' COMMENT '注册IP',
`reg_time`int(10) unsigned NOT NULL DEFAULT '0' COMMENT '注册时间',
`last_login_ip`bigint(20) NOT NULL DEFAULT '0' COMMENT '最后登录IP',
`last_login_time`int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最后登录时间',
`status`tinyint(4) NOT NULL DEFAULT '0' COMMENT '会员状态',
PRIMARY KEY (`uid`),
KEY `status`(`status`)
) ENGINE=MyISAM AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COMMENT='会员表';
INSERT INTO `onethink_member`VALUES ('1', 'admin', '0', '0000-00-00', '', '10', '2', '0', '1467965167', '0', '1468205456', '1');
INSERT INTO `onethink_member`VALUES ('2', 'test001', '0', '0000-00-00', '', '10', '2', '0', '1487905248', '0', '1487905248', '1');
INSERT INTO `onethink_member`VALUES ('3', 'test002', '0', '0000-00-00', '', '10', '2', '0', '1467965167', '0', '1468205456', '1');
INSERT INTO `onethink_member`VALUES ('4', 'test003', '0', '0000-00-00', '', '10', '2', '0', '1487905249', '0', '1487905248', '1');
INSERT INTO `onethink_member`VALUES ('5', 'test004', '0', '0000-00-00', '', '10', '2', '0', '1487905228', '0', '1487905248', '1');
INSERT INTO `onethink_member`VALUES ('6', 'test005', '0', '0000-00-00', '', '10', '2', '0', '1487905268', '0', '1487905248', '1');
方法一:
SELECT COUNT(*) FROM onethink_member where DATE(FROM_UNIXTIME(reg_time))= CURDATE();
方法二:
SELECT COUNT(*) FROM onethink_member  where DATE_FORMAT(FROM_UNIXTIME(reg_time),'%Y-%m-%d') = DATE_FORMAT(NOW(),'%Y-%m-%d');
或:
SELECT COUNT(*) FROM onethink_member  where FROM_UNIXTIME(reg_time,'%Y-%m-%d') = DATE_FORMAT(NOW(),'%Y-%m-%d');
方法三:
SELECT COUNT(*) FROM onethink_member where TO_DAYS(FROM_UNIXTIME(reg_time))= TO_DAYS(NOW());
常用日期函数总结:
1. NOW() 函数返回当前的日期和时间。SELECT NOW();
NOW()CURDATE()CURTIME()
2008-12-2916:25:462008-12-2916:25:46
2. DATE() 函数返回日期或日期/时间表达式的日期部分。SELECT DATE(now());3. TO_DAYS(date)给出一个日期 date,返回一个天数(从0 年开始的天数)。SELECT TO_DAYS(now());                                 如: SELECT TO_DAYS(950501);  //728779
4 .FROM_DAYS(N)
给出一个天数 N,返回一个 DATE 值。SELECT FROM_DAYS(729669);5.STR_TO_DATE()把字符串转换为日期。SELECT STR_TO_DATE(now(),'%Y-%m-%d %H:%i:%s');
6. DATE_FORMAT()函数用于以不同的格式显示日期/时间数据。
SELECT DATE_FORMAT(NOW(),'%Y-%m-%d %H:%i:%s');
7.DATE_ADD()函数向日期添加指定的时间间隔。SELECT DATE_ADD(NOW(),INTERVAL 30 DAY);8.DATE_SUB()函数从日期减去指定的时间间隔。SELECT DATE_SUB(NOW(),INTERVAL 30 MONTH);9.EXTRACT()函数用于返回日期/时间的单独部分,比如年、月、日、小时、分钟等等。SELECT EXTRACT(YEAR FROM NOW());  等价于:SELECT YEAR(NOW());10 .DATEDIFF()函数返回两个日期之间的天数。SELECT DATEDIFF('2017-1-30','2015-2-19') AS DiffDate;11.UNIX_TIMESTAMP()函数把日期转换为时间戳。SELECT UNIX_TIMESTAMP(NOW());12.FROM_UNIXTIME()函数把时间戳转为日期,还可以加上格式化。① SELECT FROM_UNIXTIME(1487919350);② SELECT FROM_UNIXTIME(1487919350,'%Y%m%d');
                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息