5

我有一个表,其中包含一个名为 STREAM_TIME 的 DATE 类型的列。
我正在尝试将该列的所有行更新为今天的日期。使用的数据库是oracle。

我的查询:

update bns_bess_messages SET stream_time=getDate();

Oracle 返回此错误:

SQL Error: ORA-00904: "GETDATE": invalid identifier
00904. 00000 -  "%s: invalid identifier"

如何将 STREAM_TIME 更新为今天的日期?

谢谢

4

3 回答 3

7

您可以通过以下方式进行操作:

update bns_bess_messages set stream_time = trunc(sysdate);

或者,如果您想获得确切的时间:

update bns_bess_messages set stream_time = sysdate;

要检查您可以使用以下查询:

select sysdate from dual;
于 2012-07-19T18:13:10.897 回答
5

getDate() 是 sql server 函数的一部分,供 oracle 使用以下之一

利用

select current_date
from dual;

update bns_bess_messages SET stream_time=current_date

或者

内置函数 SYSDATE 返回一个包含系统当前日期和时间的 DATE 值。例如,

select to_char(sysdate, 'Dy DD-Mon-YYYY HH24:MI:SS') as "Current Time"
from dual;

update bns_bess_messages SET stream_time=sysdate
于 2012-07-19T18:13:36.187 回答
5

Oracle 使用sysdate而不是getDate()

update bns_bess_messages SET stream_time=sysdate;
于 2012-07-19T18:13:44.937 回答