В чем разница между REGEXP_CONTAINS и REGEXP_LIKE в N1QL? - PullRequest
4 голосов
/ 06 марта 2019

В документации по Couchbase

https://docs.couchbase.com/server/6.0/n1ql/n1ql-language-reference/patternmatchingfun.html

Я видел это:

REGEXP_CONTAINS(expression, pattern)
Returns True if the string value contains the regular expression pattern.

REGEXP_LIKE(expression, pattern)
Returns True if the string value contains the regular expression pattern.

Есть ли разница между этими функциями или псевдоним для другой?

1 Ответ

5 голосов
/ 06 марта 2019

REGEXP_LIKE () требует, чтобы выражение точно совпадало с шаблоном.REGEXP_CONTAINS () менее ограничен;выражение должно содержать только то, что соответствует шаблону.

Этот запрос иллюстрирует разницу.Обратите внимание, что искомый шаблон является параметром second для функции.

select REGEXP_CONTAINS("  foof  ", "foof") as contains, REGEXP_LIKE("  foof  ", "foof") as `like`

[
  {
    "contains": true,
    "like": false
  }
]
...