当字段带有引号时在 R 中使用 sqldf 进行过滤

Filtering with sqldf in R when fields have quotation marks

我有一个很大的 sql 数据库 (7gbs),其中的字段似乎有引号。

例如:

res <- dbSendQuery(con, "
                   SELECT *
                   FROM master")

dbf2 <- fetch(res, n = 3)

dbClearResult(res)

产量

 NPI                EntityTypeCode ReplacementNPI EmployerIdentificationNumber.EIN.
1 "1679576722"            "1"             ""                                ""
2 "1588667638"            "1"             ""                                ""
3 "1497758544"            "2"             ""                       "<UNAVAIL>"
  ProviderOrganizationName.LegalBusinessName. ProviderLastName.LegalName. ProviderFirstName
1                                          ""                     "WIEBE"           "DAVID"
2                                          ""                   "PILCHER"         "WILLIAM"
3    "CUMBERLAND COUNTY HOSPITAL SYSTEM, INC"                          ""                ""

我一直在尝试通过过滤来获得更小的 table,比如说 EntityTypeCode,但我没有得到任何结果。这是一个查询没有得到任何东西的例子,有什么建议吗?我认为问题是在字段中使用双引号。

# Filter on State 
res <- dbSendQuery(npi2, "
                   SELECT * 
                   FROM master
                   WHERE (ProviderBusinessPracticeLocationAddressStateName = 'PA') 
                   ")

# Filter on State and type 
res <- dbSendQuery(npi2, "
                   SELECT * 
                   FROM master
                   WHERE (ProviderBusinessPracticeLocationAddressStateName = 'PA') AND 
                   (EntityTypeCode = '1') 
                   ")

使用 \.

转义内部双引号(ie,单元格中的双引号)
res <- dbSendQuery(npi2, "
                   SELECT * 
                   FROM master
                   WHERE (ProviderBusinessPracticeLocationAddressStateName = '\"PA\"') AND 
                   (EntityTypeCode = '1') 
                   ")

这会产生以下字符串:

                   SELECT * 
                   FROM master
                   WHERE (ProviderBusinessPracticeLocationAddressStateName = '"PA"')