如何将今天的日期返回给Oracle中的变量

Wil*_*iam 15 sql oracle sql-server-2008

我想做这个:

DECLARE @today as smalldatetime
SELECT @today = GetDate()
Run Code Online (Sandbox Code Playgroud)

但我需要一个oracle翻译

OMG*_*ies 35

Oracle使用SYSDATEANSI标准CURRENT_TIMESTAMP(SQL Server和Oracle支持,除此之外)以获取当前日期和时间.

v_today DATE;

SELECT SYSDATE
  INTO v_today
  FROM DUAL;
Run Code Online (Sandbox Code Playgroud)

...将等同于您发布的TSQL.Oracle使用该INTO子句填充变量,其中变量数据类型必须与SELECT子句中的列位置匹配.

  • 我讨厌使用标记为“时间戳”的东西来返回日期数据类型的想法。 (2认同)

Sha*_*nce 6

虽然不是严格的翻译,但我更喜欢 Oracle 中的以下结构:

v_today date; -- needs to go where variables are declared

v_today := sysdate; -- used where code is run.
Run Code Online (Sandbox Code Playgroud)

甚至:

v_today date := sysdate;
Run Code Online (Sandbox Code Playgroud)