我使用RODBC
连接到Filemaker数据库并读/写数据。
我目前无法使用以下代码向我的数据库写日期:
sqlQuery(db, "INSERT INTO mytable (a,c) VALUES (98,'01-01-2017')")
然后R出现错误:Incompatible types in assignment.
当我将数据库中的列c重新格式化为'decimal'
并写入两个数值时,它可以工作,所以我非常确定唯一的问题是日期的格式。我尝试了几种数据安排(例如2017-01-01
,2017/01/01
,引用它等等)。如果我只是手动输入数据,我的数据库采用数据格式dd-mm-yyyy,这不是问题。
有什么建议吗?
答案 0 :(得分:0)
我刚发现this FileMaker documentation陈述
ExecuteSQL只接受没有大括号的SQL-92语法ISO日期和时间格式。 ExecuteSQL不接受大括号中的ODBC / JDBC格式日期,时间和时间戳常量。
而且 - 更重要的是! - 这个:
要将正确的格式应用于SQL查询中的日期,请使用DATE语句。如果不使用DATE语句,ExecuteSQL会将日期视为文字字符串
无论你在写什么,它都被视为一个字符串......