【问题标题】:R: Data Frame is removing every other character from nvarchar/unicode fieldsR:数据框正在从 nvarchar/unicode 字段中删除所有其他字符
【发布时间】:2020-04-09 00:57:34
【问题描述】:

我已使用以下方法将 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 字段。

【问题讨论】:

    标签: r sql-server database odbc sqldatatypes


    【解决方案1】:

    尚未找到解决方法 - 但一个很好的解决方法是

    CAST(Table.Column AS varchar) AS Column

    这允许整个列成功拉出。

    【讨论】:

      猜你喜欢
      • 2019-10-30
      • 2011-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-26
      • 1970-01-01
      • 1970-01-01
      • 2022-11-22
      相关资源
      最近更新 更多