• 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'); 
  • 相关阅读:
    类似-Xms、-Xmn这些参数的含义:
    类似-Xms、-Xmn这些参数的含义:
    类似-Xms、-Xmn这些参数的含义:
    类似-Xms、-Xmn这些参数的含义:
    Java 虚拟机是如何判定两个 Java 类是相同的?
    Java 虚拟机是如何判定两个 Java 类是相同的?
    Java 虚拟机是如何判定两个 Java 类是相同的?
    Java 虚拟机是如何判定两个 Java 类是相同的?
    互联网支付系统整体架构详解
    DTO
  • 原文地址:https://www.cnblogs.com/Moming0/p/10593879.html
Copyright © 2020-2023  润新知