Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 问题:如何在where子句中使用当前时间_Sql_Mysql_Phpmyadmin - Fatal编程技术网

Sql 问题:如何在where子句中使用当前时间

Sql 问题:如何在where子句中使用当前时间,sql,mysql,phpmyadmin,Sql,Mysql,Phpmyadmin,我突然想到一个问题。是否可以使用当前时间戳而不是Where子句中的选定日期 选择这个,选择那个 从这里 其中开始>='2010-07-01' 我想应该是这样的:start='now()'或curdate()或curtime()。 我发现它们在Select子句中使用,但我需要它在Where中 非常感谢您的帮助。 Flora当然可以: WHERE start >= CURDATE() 您可以使用WHERE子句中的任何表达式,使用any.我会使用 WHERE start >= curr

我突然想到一个问题。是否可以使用当前时间戳而不是Where子句中的选定日期


选择这个,选择那个
从这里
其中开始>='2010-07-01'

我想应该是这样的:start='now()'或curdate()或curtime()。 我发现它们在Select子句中使用,但我需要它在Where中

非常感谢您的帮助。 Flora

当然可以:

WHERE start >= CURDATE()
您可以使用
WHERE
子句中的任何表达式,使用any.

我会使用

WHERE start >= current_timestamp
只是因为这应该在每个DBMS中都有效。但我不知道NOW()可能是标准函数


更新:现在我知道now()至少在Oracle中不起作用,所以我肯定会使用当前的时间戳、当前的日期等,因为这些都在标准中。我已经完成了几次DBMS迁移(DB2->MySQL、MySQL->Oracle等),我很高兴我们尽可能使用符合标准的SQL,这使得迁移相对轻松。

您可以根据需要使用以下三种功能中的任意一种:

SELECT NOW(),CURDATE(),CURTIME()
此查询的输出为-

NOW()                | CURDATE()    | CURTIME()
---------------------+----------------+----------
2008-11-11 12:45:34  | 2008-11-11   | 12:45:34
编辑:
您可以按照说明在Where子句中使用这些函数。

您不应该引用函数名

使用如下函数名:

  • 选择这个,从这里选择那个
    开始>=现在()

  • 选择这个,从这里选择那个
    开始>=当前_日期()


处理日期时,请小心使用NOW(),因为它也会返回时间部分。在这种特定的情况下,您会很好,因为您使用>=。此外,根据快速测试,NOW()在Oracle中不起作用,因此如果您最终迁移到另一个DB,那么如果使用NOW(),您将有一些额外的工作要做。
SELECT NOW(),CURDATE(),CURTIME()
NOW()                | CURDATE()    | CURTIME()
---------------------+----------------+----------
2008-11-11 12:45:34  | 2008-11-11   | 12:45:34