• mysql 时间戳 今天 昨天 7天 30天 及未来时间


    MYSQL部分:

    时间戳转成日期格式 from_unixtime(时间字段名);

    今天
    
    select * from 表名 where to_days(时间字段名) = to_days(now());
    
    昨天
    
    SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) - TO_DAYS( 时间字段名) <= 1 
    
    7天
    
    SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(时间字段名)
    
    近30天
    
    SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= date(时间字段名)
    30天之前的

    SELECT* FROM_UNIXTIME(created/1000) FROM 表名  WHERE DATEDIFF ( DATE_FORMAT( NOW( ) , '%Y%m%d' ) , DATE_FORMAT( FROM_UNIXTIME(时间字段名), '%Y%m%d' ) ) >30 本月
    SELECT * FROM 表名 WHERE DATE_FORMAT( 时间字段名, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' ) 上一月 SELECT * FROM 表名 WHERE PERIOD_DIFF( date_format( now( ) , '%Y%m' ) , date_format( 时间字段名, '%Y%m' ) ) =1

    三个月之前

    SELECT FROM_UNIXTIME(created/1000) FROM `device_light_history`  WHERE PERIOD_DIFF( DATE_FORMAT( NOW( ) , '%Y%m' ) , DATE_FORMAT( FROM_UNIXTIME(created/1000), '%Y%m' ) ) >1

     实际应用

    where to_days(from_unixtime(字段))=to_days(now())   今天
    
    where to_days(now()) - to_days(from_unixtime(字段))=1  昨天
    
    where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(from_unixtime(字段))  最近7天
    
    where DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= date(from_unixtime(字段)) 最近30天

    未来30天的记录

    SELECT * 
    FROM `islet_labappointment` 
    WHERE DATE( FROM_UNIXTIME( `字段名称` ) ) > DATE_SUB( CURDATE( ) , INTERVAL 30 
    DAY ) 
    LIMIT 0 , 30

    mysql时间戳timestamp,查询转日期类型

    #获取时间戳
    
    SELECT CURRENT_TIMESTAMP(1);
    
    SELECT CURRENT_TIMESTAMP(3);
    
    #先格式化,然后转为时间格式
    
    SELECT STR_TO_DATE(DATE_FORMAT(CURRENT_TIMESTAMP(1), '%Y-%c-%d %h:%i:%s' ) ,'%Y-%m-%d %H:%i:%s'
  • 相关阅读:
    ossec配置使用腾讯企业邮箱告警
    网络排除工具之tcping
    pyenv 安装
    CVE-2020-1472 漏洞检测
    容器技术的核心
    简述 进程、线程、协程的区别 以及应用场景--记录
    php函数使用
    php使用表单post方法进行页面
    CURL方式使用代理访问网站
    nginx下隐藏admin和当前域名下得index.php
  • 原文地址:https://www.cnblogs.com/lkj371/p/12751449.html
Copyright © 2020-2023  润新知