2015-07-10 5 views
0

Я получил конкретную дату в определенном формате 2015-06-13T21: 49: 13.395-07: 00, который вставляется как varchar в базу данных.Дата форматирования в SQL для заданного формата

Я хочу, чтобы преобразовать эту дату в формат дата, но я не получаю правильный форматировщик для тех же функций

+2

вы использовали 'TO_DATE()'? –

+2

Возможный дубликат [Convert String ISO-8601 date to oracle timestamp datatype] (http://stackoverflow.com/questions/26671557/convert-string-iso-8601-date-to-oracles-timestamp-datatype) – OldProgrammer

ответ

5

Использование to_timestamp_tz() для преобразования строки в значение временной метки с типом часового пояса данных:

select to_timestamp_tz('2015-06-13T21:49:13.395-07:00' 
         , 'yyyy-mm-dd"T"hh24:mi:ss.ffTZH:TZM') as res 
    from dual 

Результат:

RES        
---------------------------------- 
13.06.15 21:49:13,395000000 -07:00 
+0

Привет, Николас могу ли я преобразовать это в конкретный формат в столбец? в основном я использовал подстроки, чтобы преобразовать его в MM/DD/YYYY hh24: mi: ss.But есть прямой или эффективный способ? –

0
SELECT CAST(LEFT(REPLACE('2015-06-13T21:49:13.395-07:00','T',' '),23) AS DATETIME) 
Смежные вопросы