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

本文介绍了MySQL中常用的日期函数,包括NOW()、DATE()、TO_DAYS()等,并通过三种不同方法展示了如何统计当天注册的用户数量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

创建表
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-29 16:25:462008-12-2916:25:46
2DATE() 函数返回日期或日期/时间表达式的日期部分。
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');

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值