Как вернуть сегодняшнюю дату в переменную в Oracle - PullRequest
15 голосов
/ 07 февраля 2011

Я хочу сделать это:

DECLARE @today as smalldatetime
SELECT @today = GetDate()

Но мне нужен перевод оракула

Ответы [ 2 ]

35 голосов
/ 07 февраля 2011

Oracle использует SYSDATE, и есть стандарт ANSI CURRENT_TIMESTAMP (поддерживаемый как SQL Server, так и Oracle, помимо других) для получения текущей даты и времени.

v_today DATE;

SELECT SYSDATE
  INTO v_today
  FROM DUAL;

... будет эквивалентом TSQL, который вы разместили. Oracle использует предложение INTO для заполнения переменных, где тип данных переменной должен соответствовать положению столбца в предложении SELECT.

3 голосов
/ 08 февраля 2011

Хотя это не строгий перевод, я предпочитаю следующую конструкцию в Oracle:

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

v_today := sysdate; -- used where code is run.

Или даже:

v_today date := sysdate;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...