RODBC - sqlSave日期

时间:2017-12-20 13:42:25

标签: sql r rodbc

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

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

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

然后R出现错误:Incompatible types in assignment.

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

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

我刚发现this FileMaker documentation陈述

  

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

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

  

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

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