RODBC - sqlSave日期

问题描述 投票:1回答:1

我使用RODBC连接到Filemaker数据库并读/写数据。

我目前无法使用以下代码将日期写入我的数据库:

sqlQuery(db, "INSERT INTO mytable (a,c) VALUES (98,'01-01-2017')")

R然后抛出一个错误:qazxsw poi

当我将数据库中的c列重新格式化为Incompatible types in assignment.并写入两个数值时,它可以工作,所以我很确定唯一的问题是日期的格式。我尝试了几种数据安排(例如'decimal'2017-01-01,引用它等)。如果我只是手动输入数据,我的数据库采用数据格式dd-mm-yyyy,这不是问题所在。

有什么建议?

sql r rodbc
1个回答
0
投票

我刚发现2017/01/01

ExecuteSQL仅接受没有大括号的SQL-92语法ISO日期和时间格式。 ExecuteSQL不接受大括号中的ODBC / JDBC格式日期,时间和时间戳常量。

而且 - 更重要的是! - 这个:

若要将正确的格式应用于SQL查询中的日期,请使用DATE语句。如果不使用DATE语句,ExecuteSQL会将日期视为文字字符串

无论你在写什么,它都被视为一个字符串......

© www.soinside.com 2019 - 2024. All rights reserved.