即使行有很多行,RODBC也会返回0行

时间:2015-11-10 17:16:44

标签: sql-server r rodbc

我在SQL Server上有这个数据库。当我运行以下查询时:

SELECT * FROM myTable WHERE myDateField <= '2014-12-31'

我得到了51618行。

但是当我使用RODBC从R运行完全相同的查询时,我得到“&lt; 0 rows&gt;(或0-length row.names)”。

现在让我说我改变日期:

SELECT * FROM myTable WHERE myDateField <= '2010-01-01'

然后我在SQL Server上直接和在R(!?)上得到完全相同的结果。

我发现了这个answer,因此我尝试将believeNRows = FALSErows_at_time = 1添加到我的odbcDriverConnect语句中。但这并没有改变任何事情。

那么,这可能会发生什么?我已经在这里工作了将近24小时,而且我完全没有想法。

客户:CentOS 7.1.1503,R 3.2.1,RODBC 1.3-12

服务器:Windows Server 2012,SQL Server 2014

1 个答案:

答案 0 :(得分:2)

您可以做的第一件事就是逐步更改工作日期,直到找到导致查询失败的模式。也许(对于未来的读者)问题是SQL Server期望的格式不是标准。如果是这种情况,那么对第一个月的第一天的查询(仅巧合)将返回正确的结果。您可以使用set dateformat让SQL Server接受您需要的格式。