有一个问题出现在我的脑海里。2有没有可能在Where子句中使用当前的时间戳来代替一个选定的日期?
SELECT this, that
FROM here
WHERE start>='2010-07-01'
我以为会是这样的:start='now()'或curdate()或curtime().我发现的任何内容都是在Select子句中使用的,但我需要在Where中使用它们.
任何帮助都是非常感谢的。植物群
有一个问题出现在我的脑海里。2有没有可能在Where子句中使用当前的时间戳来代替一个选定的日期?
SELECT this, that
FROM here
WHERE start>='2010-07-01'
我以为会是这样的:start='now()'或curdate()或curtime().我发现的任何内容都是在Select子句中使用的,但我需要在Where中使用它们.
任何帮助都是非常感谢的。植物群
6条答案
按热度按时间vc9ivgsu1#
up9lanfz2#
您可以根据需要使用以下三个函数中的任意一个:
此查询的输出为-
编辑:您可以按照指示在Where子句中使用这些函数。
nfg76nw03#
当然可以:
您可以在
WHERE
子句中使用任何inbuilt Date-and-Time function表达式。kmynzznz4#
我会用
只是因为这应该在每个DBMS中工作。虽然不知道NOW(),也许这是一个标准函数?
更新:现在我知道NOW()至少在Oracle中不起作用,所以我肯定会使用current_timestamp、current_date等,因为这些都是标准的。我已经做了几个DBMS迁移(DB2 -〉MySQL、MySQL -〉Oracle等),我很高兴我们尽可能使用了符合标准的SQL,这使得迁移相对轻松。
xzv2uavs5#
你不应该引用一个函数名
使用如下所示的函数名称:
SELECT this, that FROM here WHERE start >= NOW();
SELECT this, that FROM here WHERE start >= CURRENT_DATE();
个ifsvaxew6#