0

通配符如何sqlite工作。或者LIKE运营商如何匹配。例如,让我们说:

1:LIKE('s%s%', 's12s12')
2:LIKE('asdaska', '%sk%')

在第一个示例中, % 在 1st s之后匹配什么,以及它如何决定在 %之后继续匹配 %s。 在第二个示例中,如果 s 首先匹配,则返回FALSE。 两个示例都返回TRUE。根据我的编程知识,我想出 LIKE 函数有点像递归函数,当出现 2 种可能性时,函数使用 2 个不同的参数调用自身并在它们之间使用OR,那么显然如果一个调用返回 true,则上层函数直接返回 true。如果是这样,那么 LIKE 运算符在大型数据库上使用起来很慢。PS 还有一个'_'通配符正好匹配一个字符


我找不到 LIKE 运算符的任何详细文档。

4

1 回答 1

2

%匹配零个或多个字符,_恰好匹配一个。

您的第一个模式's%s%'将匹配, 'ss', 's1s', 's1111s', 'ss1111', 等等。等等。

但是,如果你写's_s_'它会匹配's1s1',但以上都不匹配。

于 2012-04-10T17:36:45.093 回答