-- 时间日期相关函数
SELECT CURRENT_DATE() FROM DUAL; #当前日期
SELECT CURRENT_TIME() FROM DUAL; #当前时间
SELECT CURRENT_TIMESTAMP() FROM DUAL; #当前时间戳
-- 创建测试表
CREATE TABLE mes(
id INT,
content VARCHAR(30),
send_time DATETIME);
INSERT INTO mes VALUES(1,'北京新闻',CURRENT_TIMESTAMP()); #时间戳
INSERT INTO mes VALUES(2,'上海新闻',NOW());
INSERT INTO mes VALUES(3,'广州新闻',NOW());
SELECT * FROM mes;
-- 显示所有新闻信息,只显示日期
SELECT id , content, DATE(send_time) FROM mes;
-- 查询十分钟内发布的新闻
SELECT * FROM mes
WHERE DATE_ADD(send_time,INTERVAL 30 MINUTE) >= NOW();
SELECT * FROM mes
WHERE send_time >= DATE_SUB(NOW(),INTERVAL 30 MINUTE);
-- 求2011-11-11 和 1990-1-1 相差多少天
SELECT DATEDIFF('2011-11-11','1990-01-01') FROM DUAL;
-- 求活了多少天 1986-11-11出生
SELECT DATEDIFF(NOW(),'1986-11-11')/365 FROM DUAL;
-- 如果活到80岁,求还活多少天
SELECT DATEDIFF(DATE_ADD('1986-11-11',INTERVAL 80 YEAR),NOW()) FROM DUAL;
SELECT TIMEDIFF('10:11:11','06:10:10') FROM DUAL;