MySQL 时间查询相关语句

1、时间转时间戳

SELECT UNIX_TIMESTAMP(时间字段) 

 2、时间戳转时间

SELECT FROM_UNIXTIME( 时间戳, '%Y%m%d' ) 

 3、计算两个时间点之差

SELECT TIMESTAMPDIFF(INVTERVAL,开始时间点字段,结束时间点字段) 

 说明:返回的结果单位由 INVTERVAL 确定,参数可以是:

  1.  FRAC_SECOND,毫秒
  2. SECOND,秒
  3. MINUTE,分钟
  4. HOUR,小时
  5. DAY,天
  6. WEEK,星期
  7. MONTH,月
  8. QUARTER,季度
  9. YEAR,年

4、查询今天的数据

SELECT* FROM 表名 WHERE TO_DAYS(时间字段名) = TO_DAYS(NOW());

 5、查询昨天的数据

SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) - TO_DAYS( 时间字段) <= 1

6、查询近7天数据

SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(时间字段名)

 7、查询近30天数据

SELECT * FROM 表名 WHERE DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= date(时间字段名)

 8、查询本月数据

SELECT * FROM 表名 WHERE DATE_FORMAT( 时间字段名, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' )

 9、查询上个月的数据

SELECT * FROM 表名 WHERE PERIOD_DIFF( DATE_FORMAT( NOW( ) , '%Y%m' ) , DATE_FORMAT( 时间字段名, '%Y%m' ) ) =1

 10、查询本季度数据

SELECT * FROM 表名 WHERE QUARTER(时间字段)=QUARTER(NOW());

 11、查询上季度数据

SELECT * FROM 表名 WHERE QUARTER(时间字段)=QUARTER(DATE_SUB(NOW(),INTERVAL 1 QUARTER));

 12、查询本年数据

SELECT * FROM 表名 WHERE YEAR(时间字段)=YEAR(NOW());

 13、查询本周的数据

SELECT * FROM 表名 WHERE YEARWEEK(DATE_FORMAT(时间字段,'%Y-%m-%d')) = YEARWEEK(NOW());

猜你喜欢

转载自my.oschina.net/niithub/blog/1803377
今日推荐