Я пытаюсь написать запрос, чтобы вставить значение в поле типа timestamp with no timezone data. Значение происходит из файла CSV.
В версии, с которой я работаю, PostgreSQL 8.1.21.
Загрузка CSV файла выполняется клиентом и имеет столбец даты. Дата иногда встречается как '28-Sep-13', а иногда и как '28/09/2013'.
Я попытался использовать следующее, чтобы вывести строку в метку времени:
str_date::timestamp.
Это отлично работает, если str_date - это что-то вроде '28-Sep-13', но оно не будет работать, если входящая дата имеет формат '28/09/2013', когда возникает эта ошибка:
ERROR: date/time field value out of range: "28/09/2013" HINT: Perhaps you need a different "datestyle" setting
В основном клиент продолжает изменять формат даты в загруженном CSV файле.
Есть ли способ преобразовать строки даты в метку времени в зависимости от ее фактического формата?