Oracle 10g: выбор даты из двойного формата YYYY-MM - PullRequest
0 голосов
/ 23 мая 2018

Я пытаюсь отобразить 12 месяцев с 5 лет назад марта.Единственный способ сделать это правильно - это:

select to_char(add_months(sysdate, level-51),'YYYY-MM') 
from dual 
connect by level <= 12

Какой дисплей:

2014-03
2014-04
2014-05
...

Однако мне нужна дата.

Но попытка использовать:

select to_date(to_char(add_months(sysdate, level-51),'YYYY-MM'),'YYYY-MM') 
from dual 
connect by level <= 12

Дайте месяцы:

2014-03-01
2014-04-01
2014-05-01
...

Вопрос У кого-нибудь есть решение?

РЕДАКТИРОВАТЬ:

Делать

alter session set nls_date_format='YYYY-MM';

Исправить проблему, но как установить этот формат в хранимой процедуре?

1 Ответ

0 голосов
/ 23 мая 2018

Вы можете просто усечь полученные значения:

select trunc(add_months(sysdate, level-51), 'MM')
from dual
connect by level <= 12
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...