У меня есть датафрейм, взятый из CSV-файла, который содержит несколько столбцов с датами.Формат дат - 12/05/2019
или 2019-08-15T00:00:00Z
в зависимости от столбца.
Я очистил столбцы, используя следующий код:
transform(DataframeName,
First_Date = dmy(First_Date)
Second_Date = ymd_hms(Second_Date))
Это успешно переводит все даты в формат YYYY-MM-DD
.
Я пытаюсьимпортируйте этот фрейм данных в базу данных SQL с помощью следующей команды:
dbWriteTable(con, "DatabaseTable", DataframeName, append = TRUE)
Всякий раз, когда я делаю это, я получаю следующую ошибку:
Ошибка в result_insert_dataframe (rs @ ptr, values): nanodbc / nanodbc.cpp: 1587: 22018: [Microsoft] [Драйвер ODBC 17 для SQL Server] Недопустимое значение символа для спецификации приведения
Я подтвердил, что единственными столбцами, вызывающими эту ошибку, являются датаколонны, и все они вызывают это.Я попытался преобразовать даты в строки, преобразовать строки обратно в другую дату, используя as.Date
, импортировать числа, преобразовать пустые значения в NA
, и ничего не получилось.Когда я снова пытаюсь преобразовать столбец (чтобы сделать его строковым литералом), он возвращается к исходному значению.Например:
Исходное значение: 12/05/2019
transform(DataframeName,
First_Date = dmy(First_Date)
Следующее значение: 2019-05-12
sqlData(con, DataframeName, row.names = NA
Последнее значение: 12/05/2019
Как будто это никогда не трансформировалось в первую очередь.
Ранее я импортировал столбцы даты из очень похожих файлов CSV, просто используя as.Date
, поэтому я не могу понять, что это за ошибка.