我使用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,这不是问题所在。
有什么建议?
我刚发现2017/01/01
说
ExecuteSQL仅接受没有大括号的SQL-92语法ISO日期和时间格式。 ExecuteSQL不接受大括号中的ODBC / JDBC格式日期,时间和时间戳常量。
而且 - 更重要的是! - 这个:
若要将正确的格式应用于SQL查询中的日期,请使用DATE语句。如果不使用DATE语句,ExecuteSQL会将日期视为文字字符串
无论你在写什么,它都被视为一个字符串......