конвертировать из терадата в oracle - PullRequest
0 голосов
/ 22 апреля 2020

Пожалуйста, помогите мне преобразовать следующий запрос, написанный в терадате, в oracle sql.

SELECT cast((substr( CAST(CURRENT_TIMESTAMP(0) AS varchar(19)), 1,4) as decimal(18,0)) as termid from source1

Ответы [ 3 ]

1 голос
/ 23 апреля 2020

Ваш текущий расчет извлекает год как числовое значение c. Как в Teradata, так и в Oracle этого легко достичь, используя

extract(year from current_timestamp)
0 голосов
/ 23 апреля 2020

Если вы хотите текущий год, это будет сделано в Oracle:

select to_char(Current_Timestamp(0),'YYYY') termid from dual;
0 голосов
/ 22 апреля 2020

Вы должны явно использовать to_char с отметкой времени, поскольку формат отметки времени может содержать слова

  SELECT cast(substr( to_char(current_timestamp(0),'DDMM'), 1,4) 
  as decimal(18,0)) as termid from dual
...