2015-11-04 3 views
0

Как я могу конвертировать из индийского стандартного формата времени в формат даты oracle.Coversion формата даты IST в формате Oracle sysdate

Например:

Mon May 23 2016 00:00:00 GMT+0530 (India Standard Time) 

требуется Формат

23-May-16 
+0

Даты не имеют форматов, они являются двоичными значениями. IST относится к часам, а не к форматам. Oracle * имеет * типы дат, поэтому нет необходимости хранить строки вместо дат. Либо вы сохранили строки в базе данных вместо дат (это ошибка), либо вы хотите отформатировать значение даты в определенном формате для отображения - что-то лучше всего сделать на стороне клиента? Если вам нужно сделать это на сервере, вы должны проверить функции форматирования строки Oracle, как 'to_char' –

ответ

0

Это разбирает входную строку и возвращает значение даты для вас:

select cast(to_timestamp_tz('Mon May 23 2016 00:00:00 GMT+0530', 'Dy Mon DD YYYY HH24:MI:SS "GMT"TZHTZM') as date) as converted_to_date_value 
from dual; 

Это разбирает входную строку на " timestamp with time zone "и форматирует значение обратно в строку в желаемом формате:

select to_char(to_timestamp_tz('Mon May 23 2016 00:00:00 GMT+0530', 'Dy Mon DD YYYY HH24:MI:SS "GMT"TZHTZM'), 'DD-Mon-RR') as converted_to_your_format 
from dual; 

Наслаждайтесь!

Сноска: Обратите внимание, что нет такой вещи, как «формат даты оракула», о котором вы говорите. У Oracle есть свой тип данных date, который может иметь много много различных интуитивных подсказок в зависимости от вашего клиента, а также от настроек локали сервера.

+0

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

Смежные вопросы