Mysql 时间日期处理

-- 获取当前时间
-- 执行SQL开始时就获取当前时间
SELECT NOW(),SLEEP(3),NOW();
-- 实时获取当前时间
SELECT SYSDATE(),SLEEP(3),SYSDATE();
-- SQL 执行完成之后的当前时间
SELECT LOCALTIME();
-- 获取当前日期
SELECT CURDATE();
-- 获取当前时间
SELECT CURTIME();
-- 获取当前年份
SELECT YEAR(NOW());
-- 获取当前月份
SELECT MONTH(NOW());
-- 获取当前几日
SELECT DAY(NOW());
-- 获取当前小时
SELECT HOUR(NOW());
-- 获取当前分钟
SELECT MINUTE(NOW());
-- 获取当前秒
SELECT SECOND(NOW());

-- EXTRACT 能实现以上获取年月日 时分秒
SELECT EXTRACT(YEAR FROM NOW());

-- 当前日期是在这一周的第几天 从周日开始算
SELECT DAYOFWEEK(NOW());

-- 当前日期是一年的第几个星期
SELECT WEEKOFYEAR(NOW());

-- 当前日期星期的名称
SELECT DAYNAME(NOW());
-- 当前日期的月份名称
SELECT MONTHNAME(NOW());

-- 插入时间间隔
SET @dt = NOW() ;

SELECT 
DATE_ADD(@dt, INTERVAL 1 YEAR) AS 年份加1,
DATE_ADD(@dt, INTERVAL 1 MONTH) AS 月份加1,
DATE_ADD(@dt, INTERVAL 1 DAY) AS 日期加1,
DATE_ADD(@dt, INTERVAL 1 HOUR) AS 小时加1,
DATE_ADD(@dt,INTERVAL 1 WEEK) AS 星期加1
FOR UPDATE;


-- 字符串转换时间格式 yyyy-mm-dd hh:mm:ss 
SELECT STR_TO_DATE('2015-5-6 12:10:50','%Y-%m-%d %H:%i:%s');

-- 时间类型转换为对应的字符串 
SELECT DATE_FORMAT(NOW(),'%Y-%m-%d');

SELECT DATE_FORMAT(NOW(),'%Y年%m月 星期%W');

-- 查询当天的所有记录
SELECT * FROM TEST T WHERE DATE(T.`createtime`) = CURDATE();

select *  from TEST T Where  date_format(from_unixtime(T.`createtime`),'%Y-%m-%d') = date_format(now(),'%Y-%m-%d')  
-- 查询这周的数据
SELECT * FROM TEST T WHERE YEARWEEK(DATE_FORMAT(T.`createtime`,'%Y-%m-%d')) = YEARWEEK(NOW())

posted on 2015-06-11 11:41  ExpriedLove  阅读(129)  评论(0)    收藏  举报

导航