【问题标题】:MySQL from_unixtime now and midnightMySQL from_unixtime 现在和午夜
【发布时间】:2020-09-10 22:57:36
【问题描述】:

以下查询将生成带有今天日期的 unix 时间:

UNIX_TIMESTAMP(CURDATE()-0)*1000 --> 以毫秒为单位

我怎样才能得到一个显示unix时间到午夜的设备?我知道我可以像这样做闭开区间:

WHERE ctime  >= UNIX_TIMESTAMP(CURDATE()-0)*1000 
  AND ctime < UNIX_TIMESTAMP(CURDATE()+1)*1000

我需要这个的原因是因为我想运行下面的 SP 并简单地将天数作为参数传递:

CREATE PROCEDURE `sp_report_q1``(IN Day1 INT(5))
BEGIN
.
.
.
WHERE  ctime >= UNIX_TIMESTAMP(CURDATE()-Day1)*1000 and ctime < **DAY1 UNTIL MIDNIGHT** 

希望这很清楚。

谢谢。

【问题讨论】:

    标签: mysql sql datetime where-clause


    【解决方案1】:

    您可以在这里使用算法:

    where 
            ctime >= (unix_timestamp(current_date) - day1 * 60 * 60 * 24) * 1000 
        and ctime <  (unix_timestamp(current_date) - (day1 - 1) * 60 * 60 * 24) * 1000 
    

    或者有间隔:

    where 
            ctime >= (unix_timestamp(current_date - interval day1 day) * 1000 
        and ctime <  (unix_timestamp(current_date) - interval (day1 - 1) day) * 1000 
    

    【讨论】:

      猜你喜欢
      • 2016-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-07
      • 2015-07-03
      • 1970-01-01
      • 2011-10-14
      • 1970-01-01
      相关资源
      最近更新 更多