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

问题描述

我有一个很大的sql db(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"                          ""                ""

我一直在尝试通过过滤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') 
                   ")

解决方法

dd($request->all())转义内部双引号( ie ,即单元格中的双引号)。

\

这将产生以下字符串:

res <- dbSendQuery(npi2,"
                   SELECT * 
                   FROM master
                   WHERE (ProviderBusinessPracticeLocationAddressStateName = '\"PA\"') AND 
                   (EntityTypeCode = '1') 
                   ")

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...