繁体   English   中英

R:数据框正在从 nvarchar/unicode 字段中删除所有其他字符

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM