SQL-запрос для преобразования формата 2019/05/21 00:00:00 в 21-ИЮНЬ-19 (т. Е. ДД-МЕС-ГГ) - PullRequest
0 голосов
/ 06 июня 2019

У меня есть формат даты «2019/05/21 00:00:00», и мне нужно преобразовать его в «21-ИЮНЬ-19» с помощью SQL. Как я могу конвертировать это?

Ответы [ 2 ]

1 голос
/ 06 июня 2019

Вы можете использовать substr() и to_date():

select to_date(substr('2019/05/21 00:00:00', 1, 10), 'YYYY/MM/DD')
from dual;
1 голос
/ 06 июня 2019

Если исходное значение является строкой, то

  • сначала преобразовать его в дату (используя to_date, с соответствующей маской формата)
  • затем преобразовать его в строку (используя to_char, снова с маской соответствующего формата)

Кстати, почему вы конвертируете 2019 / 05 / 21 в июнь ? Это можно сделать без проблем (ADD_MONTHS делает это), просто задаваясь вопросом, умышленно ли вы это сделали или по ошибке.

SQL> select to_char(to_date('2019/05/21 00:00:00', 'yyyy/mm/dd hh24:mi:ss'), 'dd-mon-yy') result from dual;

RESULT
---------
21-may-19

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