zoukankan      html  css  js  c++  java
  • MySQL语句查询近年、月、日、小时的数据

    数据库表结构如图:

    表数据如下:

    #近多少(7)天的数据(按日来算,不算小时分)
    #SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(时间字段名)
    SELECT * FROM `test` WHERE DATE_SUB(CURDATE(), INTERVAL 3 DAY) <= DATE(ntime)
    
    #本月数据
    #SELECT * FROM 表名 WHERE DATE_FORMAT( 时间字段名, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' )
    SELECT * FROM `test` WHERE DATE_FORMAT( ntime, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' )
    
    
    #当天的数据
    #SELECT * FROM 表名 WHERE TO_DAYS(时间字段名) = TO_DAYS(NOW())
    SELECT * FROM test WHERE TO_DAYS(ntime) = TO_DAYS(NOW())
    
    
    #查询几(十)小时前数据
    #SELECT * FROM 表名 WHERE 时间字段名>DATE_ADD(NOW(),INTERVAL-10 HOUR)
    SELECT * FROM test WHERE nTime>DATE_ADD(NOW(),INTERVAL-10 HOUR)
    
    #查询上几(二)月数据,0代表本季度,1代表上一季度
    #SELECT * FROM 表名 WHERE PERIOD_DIFF( date_format( now( ) , '%Y%m' ) , date_format( 时间字段名, '%Y%m' ) ) =2
    SELECT * FROM `test` WHERE PERIOD_DIFF( DATE_FORMAT( NOW( ) , '%Y%m' ) , DATE_FORMAT( ntime, '%Y%m' ) ) =0
    
    #查询上(几)季度数据`waterregion``log_watermeter`,0代表本季度,1代表上一季度
    #SELECT * FROM 表名 WHERE QUARTER(时间字段名)=QUARTER(DATE_SUB(NOW(),INTERVAL 1 QUARTER))
    SELECT * FROM `test` WHERE QUARTER(ntime)=QUARTER(DATE_SUB(NOW(),INTERVAL 0 QUARTER))
    
    #查询上(几)年度数据,0代表本年度,1代表上一年度
    #SELECT * FROM 表名 WHERE YEAR(时间字段名)=YEAR(DATE_SUB(NOW(),INTERVAL 1 YEAR))
    SELECT * FROM `test` WHERE YEAR(ntime)=YEAR(DATE_SUB(NOW(),INTERVAL 2 YEAR))
    
    #返回 date 是一年中的第几天,范围为 1366
    #DAYOFYEAR(date)
    SELECT DAYOFYEAR('2019-03-25 10:45:03')
    
    
    
    
    #返回 date 的年份,范围为 10009999
    #YEAR(date)
    SELECT YEAR('2019-03-25 10:45:03')
    
    #返回 date 中的月份,范围为 112
    #MONTH(date)
    SELECT MONTH('2019-03-25 10:45:03')
    
    #返回 date 是一月中的第几天,范围为 131
    #DAYOFMONTH(date) 
    SELECT DAYOFMONTH('2019-03-25 10:45:03')
    
    #返回 time 的小时值,范围为 023: 
    #HOUR(time) 
    SELECT HOUR('2019-03-25 10:45:03'); 
    
    #返回 time 的分钟值,范围为 059:
    #MINUTE(time) 
    SELECT MINUTE('2019-03-25 10:45:03'); 
    
    #返回 time 的秒值,范围为 059:
    #SECOND(time)  
    SELECT SECOND('2019-03-25 10:45:03'); 
  • 相关阅读:
    ie678兼容问题
    ie6/7中 zindex兼容问题
    mac svn 操作
    location.hash
    让 div 浮动到底端
    timeout问题
    让footer 自适应在底端
    js获取浏览器的高度
    ajax浏览器后退功能实现
    经典SQL语句大全(二)
  • 原文地址:https://www.cnblogs.com/Moming0/p/10593879.html
Copyright © 2011-2022 走看看