написать запрос в базу данных h2 для преобразования формата даты - PullRequest
1 голос
/ 28 февраля 2020

Я пишу тесты junit, использующие h2. Oracle использует другой формат ('03-февраль-20 '). База данных H2 выдает ошибку для этого формата ('2020-02-03').

Мне нужно преобразовать строку '03-февраль-20 'в дату' 2020-02-03 'в запросе в базе данных h2. Пожалуйста, дайте мне знать, как это сделать?

Спасибо за ваше время и терпение.

Ответы [ 2 ]

0 голосов
/ 28 февраля 2020

Используйте PARSEDATETIME , например:

create table DATE_EXAMPLE (
    EXAMPLE DATE
);
insert into DATE_EXAMPLE values ('2020-02-03');
select * from DATE_EXAMPLE where EXAMPLE = PARSEDATETIME('03-february-20','dd-MMMM-yy');
0 голосов
/ 28 февраля 2020

Неясно, что именно вы делаете. Тип данных Oracle DATE не имеет «формата». Вернее, это внутренний двоичный формат. Если вы хотите выбрать столбец типа данных DATE и преобразовать его в строковое представление (для потребления людьми или каким-либо другим процессом, который ожидает строковое представление даты, то вы должны использовать функцию to_char:

select to_char(my_date,'dd-Mon-yyyy') from mytable;

и используйте любую маску формата, необходимую для получения желаемых результатов. Маска формата, которую я использовал, была 'dd-Mon-yyyy', которая представляла бы сегодняшнюю дату как 27 февраля 2020 года.

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