У меня есть Год и Месяц, но нужно также указать номер месяца - PullRequest
0 голосов
/ 20 марта 2020

Это мое значение в таблице: FY20 JAN

И я ищу 'FY20 (M01) JAN'. Как можно конвертировать как это в Oracle 11g SQL запрос?

1 Ответ

0 голосов
/ 20 марта 2020

Сначала вы конвертируете вашу строку в значение типа DATE. Все, что заключено в двойные кавычки, несколько жестко запрограммировано, и функция TO_DATE игнорирует их, если они совпадают с символами на входе в их указанных c положениях. Здесь FY находятся в местоположении (индекс) 1 и 2.

alter session set nls_date_format = 'yyyy-mm-dd';              
select to_date('FY20 JAN', '"FY"yy MON') d from dual;

D         
----------
2020-01-01

Затем вы применяете другую функцию TO_CHAR к значению даты, которое мы получили выше, чтобы получить желаемый результат.

select to_char(
                to_date('FY20 JAN', '"FY"YY MON')
                , '"FY"yy "(M"mm")" MON'
              ) c from dual;

C                      
-----------------------
FY20 (M01) JAN
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...