[英]R: Data Frame is removing every other character from nvarchar/unicode fields
我已使用以下方法将 R 连接到我的数据库:
con <- DBI::dbConnect(odbc::odbc(),
Driver = "/usr/local/lib/libmsodbcsql.17.dylib",
Server = "my server",
Database = "my db",
UID = "my uid",
PWD = "my pw",
Port = 1433)
但是对于每个字符串(表名或字段值),每个偶数字符都已被删除。
示例 1-:
dbListTables(con)
返回:
SLn
但是,实际的表名是“SOLine”
示例 2 - 使用以下命令运行查询:
query<-paste0("SELECT SOOrder.AddressLine1, SOOrder.OrderDate, SOOrder.OrderTotal FROM SOOrder WHERE SOOrder.OrderNbr=1")
test_query<-dbGetQuery(con,query)
test query
返回:
AddressLine1 OrderDate OrderTotal
Ts drs ie1 2019-10-28 100.00
在 SSMS 中运行相同的查询时返回:
AddressLine1 OrderDate OrderTotal
Test Address Line 1 2019-10-28 100.00
因此,整数和日期时间不受影响。 它似乎只是字符串:更具体地说是 nvarchar(varchar 类型不受影响)。 查看模式,它们是 Unicode 字段。
尚未找到修复程序 - 但一个好的解决方法是
CAST(Table.Column AS varchar) AS Column
这允许整个列成功通过。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.