【问题标题】:sql query replace NOW() to datetimesql查询将NOW()替换为日期时间
【发布时间】:2015-09-18 04:13:19
【问题描述】:

我有一个请求:

SELECT 
  *,
  CASE WHEN NOW() BETWEEN `from` AND `to` THEN "1" ELSE "0" END AS status, 
FROM
  `table`
WHERE
  NOW() > `created_at`

我想将 NOW() 替换为我的 $date 变量 (UTC)。 如何更改我的请求?

P.S 我的查询有点改变。

谢谢!

【问题讨论】:

    标签: sql date timezone utc


    【解决方案1】:

    如果我们谈论的是 MySQL,我认为我们基于这种语法,这应该可以工作:

    SELECT *
    FROM `table`
    WHERE  $date > `created_at`
    

    根据另一个问题修改,source.

    编辑

    新查询:

    SELECT *,
    CASE
    WHEN $date BETWEEN `from` AND `to` THEN "1" 
    ELSE "0" 
    END 
    AS status, 
    FROM `table`
    WHERE
    $date > `created_at`
    

    【讨论】:

    • 你为什么用“=”代替?
    • 而且他还提到 $date 是 UTC
    • @ChiragThakar 我编辑了我的问题,谢谢。 UTC 日期对此有何影响?
    • UTC 是标准时间,时区因地区而异,所以我们需要确保他的“created_at”是 UTC 格式,有意义吗?
    • @ChiragThakar 我明白了,是的,我认为这是健忘的。如果他回来说格式有问题,那可能是错误的。 (:
    猜你喜欢
    • 2020-12-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多