Как я могу преобразовать строку MMMYYYY в дату в Oracle? - PullRequest
0 голосов
/ 03 апреля 2019

Я ищу записи старше года, но, к сожалению, в них есть только строки с датами, например JAN2019.Мне нужно кое-как конвертировать это в DATETIME от 01.01.2009, чтобы иметь возможность получать записи меньше SYSDATE-365.

Я могу использовать SUBSTR, чтобы получить месяц и год, но я не знаю, как преобразовать строковое значение месяца в числовое значение, чтобы преобразовать или преобразовать его в дату.

Ответы [ 2 ]

3 голосов
/ 03 апреля 2019

TO_DATE помог бы, я полагаю.

SQL> alter session set nls_date_language = english;

Session altered.

SQL> alter session set nls_date_Format = 'dd/mm/yyyy';

Session altered.

SQL> select to_date('JAN2019', 'monyyyy') from dual;

TO_DATE('J
----------
01/01/2019

SQL>

(Скорее всего, вам не нужны alter session команды; я делаю, потому что моя база данных говорит Хорватский и использует другой формат даты, поэтому я просто попытался приблизить ее к тому, что вы используете).

0 голосов
/ 04 апреля 2019
SELECT TO_DATE(('01'||'JAN2019'),'dd/mm/yyyy') AS new_date_format FROM table_name;

Примечание:

вы можете изменить 'JAN2019' на column_name

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