2

Как преобразовать строку даты со следующим форматом в datetime при запуске оператора выбора?(Oracle) конвертировать строку даты в datetime

2015-06-04T02:58:00.134+08:00 

Он хранится в столбце с типом данных VARCHAR2 (100 байт).

Спасибо!

+0

Нет, это не 'тип date', это' TIMESTAMP'. –

+0

Возможный дубликат [Oracle Convert TIMESTAMP с часовым поясом до DATE] (http://stackoverflow.com/questions/20089859/oracle-convert-timestamp-with-timezone-to-date) – Pino

+0

Вы можете посмотреть, как я это делаю это [здесь] (http://stackoverflow.com/questions/24990166/unable-to-parse-oracle-timestamp-in-c-sharp/25483774#25483774) –

ответ

3

Он хранится в колонке с типом данных VARCHAR2 (100 BYTE).

Прежде всего, вы должны никогда никогда магазин ДАТА/TIMSTAMP, как строка. Это ошибка дизайна базы данных.

В любом случае, вы можете преобразовать его в TIMESTAMP WITH TIMEZONE.

Например,

SQL> SELECT to_timestamp_tz('2015-06-04T02:58:00.134+08:00', 
    2       'YYYY-MM-DD"T"HH24:MI:SS.FF TZH:TZM') 
    3       AT TIME ZONE '+8:00' as tm_stamp 
    4 FROM dual; 

TM_STAMP 
----------------------------------------------------------------- 
04-JUN-15 02.58.00.134000000 AM +08:00 

SQL> 
+0

Есть ли причина, по которой вы указываете часовой пояс дважды? –

+0

Маленькая ошибка, она должна быть «ГГГГ-ММ-ДД» Т »HH24: MI: SS.FFTZH: TZM'' (без пробела после времени) –

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

  • Нет связанных вопросов^_^