【发布时间】:2012-04-10 16:05:08
【问题描述】:
sqlite 中的通配符如何工作。或者LIKE 运算符如何匹配。
例如让我们说:
1:LIKE('s%s%', 's12s12')
2:LIKE('asdaska', '%sk%')
在第一个示例中,在第一个 s 之后匹配什么 %,以及它如何决定在 % 之后继续匹配 % 或 s。
在第二个示例中,如果 s 首先匹配,则返回 FALSE。
两个示例都返回 TRUE。根据我的编程知识,我想出 LIKE 函数有点像递归函数,当出现 2 种可能性时,函数会使用 2 个不同的参数调用自身并在它们之间使用 OR,那么显然如果一个调用返回 true,上层函数直接返回true。如果是这样,那么 LIKE 运算符在大型数据库上使用起来很慢。
附言还有一个 '_' 通配符可以完全匹配一个字符
我找不到任何 LIKE 运算符的详细文档。
【问题讨论】:
标签: sql sqlite wildcard sql-like