我想到了一个问题。是否有可能在Where子句中使用当前时间戳而不是选定日期?
SELECT this, that
FROM here
WHERE start>='2010-07-01'
我以为会是某事。喜欢:start ='now()'或curdate()或curtime()。 我发现的任何东西都是在Select Clause中使用它们,但我需要它在Where。
非常感谢任何帮助。 菌群
答案 0 :(得分:4)
SELECT this, that
FROM here
WHERE start >= NOW()
答案 1 :(得分:4)
您可以根据自己的要求使用以下三种功能之一:
SELECT NOW(),CURDATE(),CURTIME()
此查询的输出为 -
NOW() | CURDATE() | CURTIME()
---------------------+----------------+----------
2008-11-11 12:45:34 | 2008-11-11 | 12:45:34
编辑: 您可以按照说明在Where子句中使用这些函数。
答案 2 :(得分:1)
答案 3 :(得分:1)
我用
WHERE start >= current_timestamp
因为这应该适用于每个DBMS。不知道NOW(),也许这是一个标准功能?
更新:现在我知道NOW()至少在Oracle中不起作用,所以我肯定会使用current_timestamp,current_date等,因为这些都在标准中。我已经完成了几次DBMS迁移(DB2 - > MySQL,MySQL - > Oracle等),我很高兴我们尽可能使用符合标准的SQL,这使迁移变得相对轻松。
答案 4 :(得分:1)
您不应引用功能名称
使用如下函数名称:
SELECT this, that FROM here WHERE
start >= NOW();
SELECT this, that FROM here WHERE
start >= CURRENT_DATE();
答案 5 :(得分:1)
SELECT COUNT(vouch_no) As Count FROM f1work WHERE v_date=CURRENT_DATE()