Как преобразовать строку даты со следующим форматом в datetime
при запуске оператора выбора?(Oracle) конвертировать строку даты в datetime
2015-06-04T02:58:00.134+08:00
Он хранится в столбце с типом данных VARCHAR2
(100 байт).
Спасибо!
Как преобразовать строку даты со следующим форматом в datetime
при запуске оператора выбора?(Oracle) конвертировать строку даты в datetime
2015-06-04T02:58:00.134+08:00
Он хранится в столбце с типом данных VARCHAR2
(100 байт).
Спасибо!
Он хранится в колонке с типом данных 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>
Есть ли причина, по которой вы указываете часовой пояс дважды? –
Маленькая ошибка, она должна быть «ГГГГ-ММ-ДД» Т »HH24: MI: SS.FFTZH: TZM'' (без пробела после времени) –
Нет, это не 'тип date', это' TIMESTAMP'. –
Возможный дубликат [Oracle Convert TIMESTAMP с часовым поясом до DATE] (http://stackoverflow.com/questions/20089859/oracle-convert-timestamp-with-timezone-to-date) – Pino
Вы можете посмотреть, как я это делаю это [здесь] (http://stackoverflow.com/questions/24990166/unable-to-parse-oracle-timestamp-in-c-sharp/25483774#25483774) –