我使用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的数据格式,所以这不是问题。
有什么建议吗?
发布于 2017-12-20 21:58:35
我刚发现this FileMaker documentation说
ExecuteSQL仅接受不带大括号的SQL-92语法ISO日期和时间格式。ExecuteSQL不接受用大括号括起来的日期、时间和时间戳常量。
而且-更重要的是!-这个:
若要对SQL查询中的日期应用正确的格式,请使用DATE语句。如果不使用DATE语句,ExecuteSQL会将日期视为文字字符串
不管你写的是什么,它都会被当作一个字符串...
https://stackoverflow.com/questions/47907424
复制相似问题