Как изменить год для даты в oracle sql?

#oracle

#Oracle

Вопрос:

Допустим, у меня есть строка, представляющая дату, но без информации за год. Мне нужно преобразовать эту строку в дату, но мне явно нужно установить год этой даты. Вот пример:

 select to_date('20.01. 23:59:00', 'DD.MM. HH24:MI:SS') from dual
  

Год этой даты автоматически устанавливается на текущий год. Что мне нужно сделать, если я хочу установить год, например, на 1972 год?

Комментарии:

1. это просто строка, поэтому вы можете добавить год с помощью простой строковой операции: to_date('20.01.' || yearvalue || ' 23:59:00', 'dd.mm.yyetc...')

Ответ №1:

Жестко запрограммируйте '1972.' и объедините перед вашей строкой; затем добавьте YYYY. в модель формата.

 select to_date('1972.' || '20.01. 23:59:00', 'YYYY.DD.MM. HH24:MI:SS') from dual;
  

Если вместо этого у вас есть другой столбец, скажем, с годом yr , и он в числовом формате, тогда напишите to_char(yr) || '.' || .... внутри to_date() .