【发布时间】:2014-02-10 08:18:47
【问题描述】:
我需要一个 R 中的函数来模仿 LIKE in MySQL 的功能。
(我需要相互验证 SQL 查询和 R 脚本的结果。如果我有一个函数可以模仿 LIKE 的功能,那就太好了,这可以减少我的工作量。)
我从上面的链接中添加了 LIKE 的一些行为。如您所见,LIKE 与标准 grep 正则表达式有一些不同之处。
LIKE(来自链接的描述)
- 使用 SQL 简单正则表达式比较的模式匹配。返回 1 (TRUE) 或 0 (FALSE)。
- 根据 SQL 标准,LIKE 以每个字符为基础执行匹配,因此它可以产生与 = 比较运算符不同的结果:
- 尾随空格很重要
- 使用 LIKE,您可以在模式中使用以下两个通配符。 人物描述 % 匹配任意数量的字符,甚至是零个字符 _ 只匹配一个字符
-
在 MySQL 中,数字表达式允许使用 LIKE。 (这是标准 SQL LIKE 的扩展。)
mysql> SELECT 10 LIKE '1%'; -> 1
【问题讨论】:
-
我会说 R,但不幸的是不会说 MySQL。由于您没有解释
LIKE的确切作用,因此能够帮助您的人越来越少。 -
LIKE 不做近似字符串匹配,所以 agrep 不是很合适。我在上面更详细地描述了这个功能(编辑过的问题)。
-
您正在寻找不存在的东西。如果你真的想去麦当劳,你不需要寻找汉堡王之类的替代品:你只需要去麦当劳。因此,如果您更喜欢这样,请使用 sql、sqldf 或编写自己的代码。
-
我需要相互验证 SQL 查询和 R 脚本的结果。如果我有一个可以模仿 LIKE 功能的函数,那就太好了,这会减少我的工作量。