phpmyadmin 如何在where子句中使用当前时间

iibxawm4  于 2022-11-09  发布在  PHP
关注(0)|答案(6)|浏览(175)

有一个问题出现在我的脑海里。2有没有可能在Where子句中使用当前的时间戳来代替一个选定的日期?

SELECT this, that
FROM here
WHERE start>='2010-07-01'

我以为会是这样的:start='now()'或curdate()或curtime().我发现的任何内容都是在Select子句中使用的,但我需要在Where中使用它们.
任何帮助都是非常感谢的。植物群

vc9ivgsu

vc9ivgsu1#

SELECT this, that
FROM here
WHERE start >= NOW()
up9lanfz

up9lanfz2#

您可以根据需要使用以下三个函数中的任意一个:

SELECT NOW(),CURDATE(),CURTIME()

此查询的输出为-

NOW()                | CURDATE()    | CURTIME()
---------------------+----------------+----------
2008-11-11 12:45:34  | 2008-11-11   | 12:45:34

编辑:您可以按照指示在Where子句中使用这些函数。

nfg76nw0

nfg76nw03#

当然可以:

WHERE start >= CURDATE()

您可以在WHERE子句中使用任何inbuilt Date-and-Time function表达式。

kmynzznz

kmynzznz4#

我会用

WHERE start >= current_timestamp

只是因为这应该在每个DBMS中工作。虽然不知道NOW(),也许这是一个标准函数?
更新:现在我知道NOW()至少在Oracle中不起作用,所以我肯定会使用current_timestamp、current_date等,因为这些都是标准的。我已经做了几个DBMS迁移(DB2 -〉MySQL、MySQL -〉Oracle等),我很高兴我们尽可能使用了符合标准的SQL,这使得迁移相对轻松。

xzv2uavs

xzv2uavs5#

你不应该引用一个函数名
使用如下所示的函数名称:

  • SELECT this, that FROM here WHERE start >= NOW();
  • SELECT this, that FROM here WHERE start >= CURRENT_DATE();
ifsvaxew

ifsvaxew6#

... WHERE v_date=CURRENT_DATE()

相关问题