Как вернуть сегодня дату в переменную в Oracle

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

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

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

Ответы

Ответ 1

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

v_today DATE;

SELECT SYSDATE
  INTO v_today
  FROM DUAL;

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

Ответ 2

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

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

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

Или даже:

v_today date := sysdate;