【发布时间】:2015-08-12 20:53:46
【问题描述】:
我试图在查询中使用参数,但我(或我的系统)似乎有日期问题。
我正在连接到 MS SQL Server
并定义我要处理的特定日期
endDate <- '02.08.2015'
我的查询如下所示:
test <-"SELECT [RDate],[Currency_ID],[Rate],[NRate]
FROM [dwh].[dbo].FC_CurrencyRate]
WHERE RDate = ? "
sqlExecute(myconn,test, endDate)
这会产生以下错误
sqlExecute(myconn, test, endDate) 中的错误: 22018 0 [Microsoft][SQL Server Native Client 11.0]强制转换规范的字符值无效
[RODBCext] 错误:SQLExecute 失败
另外:警告信息: 在 sqlExecute(myconn, test, endDate) 中: 22018 0 [Microsoft][SQL Server Native Client 11.0]强制转换规范的字符值无效
然后我尝试更改日期格式
endDate <- as.Date(endDate, format='%d.%m.%Y')
sqlExecute(myconn,test, endDate)
但这会导致另一个错误
sqlExecute(myconn, test, endDate) 中的错误: 07006 0 [Microsoft][SQL Server Native Client 11.0]限制数据类型属性冲突
[RODBCext] 错误:SQLBindParameter 失败
另外:警告信息: 在 sqlExecute(myconn, test, endDate) 中: 07006 0 [Microsoft][SQL Server Native Client 11.0]限制数据类型属性冲突
这是一个典型的问题吗?是否还有其他类型的使用 R 的日期格式?
我也尝试过拥抱问号?通过引号作为“?”。 这导致 Rstudio 崩溃,查询时间太长。
感谢任何提示
【问题讨论】:
标签: sql-server r rodbc