我正在使用sqldf包和sql分析由分类模型生成的一个表。
但是当我使用代码时:
table<-sqldf("
SELECT a,
b,
c,
d,
e,
f,
CASE WHEN (REGEXP_LIKE(t, '\b(2nd time|3rd time|4th time)\b')) = TRUE
THEN 1 ELSE 0 END AS UPSET_NOT_LIKE,
regexp_extract(t, '\b(2nd time|3rd time|4th time)\b')) as Word
FROM cls
")
看起来sqldf包没有regexp_like和regexp_extract函数。
我可以使用任何sql-advanced软件包进行查询吗?
答案 0 :(得分:3)
sqldf适用于SQLite,h2,mysql和postgresql后端。
默认为SQLite,它不支持这些功能。如果SQLite是在支持下编译的,SQLite确实支持regexp关键字,但我不认为RSQLite包中的驱动程序已经这样做了。
如果您将postgreSQL数据库后端用于~
,那么regexp_matches
运算符可用于进行正则表达式匹配,cls
可用于提取匹配项。
有关使用postgreSQL后端和sqldf的信息,请参阅sqldf home page上的FAQ#12。
有关postgreSQL中正则表达式匹配的信息,请参阅here。
将来请在您的问题中提供完整的最小自包含可重复的示例,在这种情况下,还意味着提供dput(head(cls))
行的示例,例如RegistrationViewController
。