В моей базе данных у нас есть столбец, содержащий данные в формате XML. И один из элементов XML имеют даты, выглядит следующим образом:Postgres - Удаление миллисекунд из timestamp text
<timestamp>2013-05-22 16:01:26.78 CDT</timestamp>
<timestamp>2013-05-15 10:29:44.588 CDT</timestamp>
<timestamp>2013-02-27 09:37:54.677 CST</timestamp>
Я извлек значение между <timestamp>
с помощью:
substring(table.column from '<timestamp>(.*)</timestamp>') as "Time Stamp"
Но я с трудом пытаюсь использовать регулярные выражения удалите только миллисекунды.
То, что я хочу 2013-02-27 09:37:54 CST
Я не знаю, достаточно регулярных выражений, чтобы отфильтровать миллисекунды.
Спасибо, но это не сработало. Я пробовал TIMESTAMPTZ, и он не будет включать часовой пояс CDT/CST. Он только преобразовал метку времени в мой текущий часовой пояс. Например, 2013-05-22 16: 01: 26.78 CDT становится 2013-05-22 14: 01: 26.78 CDT после того, как я его бросил. – cYn
Э? Это то, что делает TIMESTAMPTZ - он использует вашу текущую настройку «часовой пояс» для отображения. Был ли ваш вопрос, что вы * только * хотели миллисекунды? Или вы хотите, чтобы TIMESTAMP отображался в * только * CDT/CST tz данных в таблице? – bma
О, мужик, мне так жаль! Я неправильно написал свой вопрос. Я имел в виду, что мне нужно удалить миллисекунды. – cYn