sqlite
通配符的工作原理。或者LIKE
运算符如何匹配。对于考试,让我们说:
1: LIKE('s%s%', 's12s12')
2: LIKE('asdaska', '%sk%')
示例中,在第一个 s 之后匹配的 % 是多少,以及它如何决定在 % 之后继续匹配 % 或 s。
在第二个示例中,如果 s 首先匹配,则返回 FALSE。
这两个示例都返回 TRUE。根据我的编程知识,我想出了 LIKE 函数有点像递归函数,当出现 2 种可能性时,函数使用 2 个不同的参数调用自身并在它们之间使用 OR,那么显然如果一个调用返回 true,上层函数直接返回 true。 如果是这样,那么 LIKE 运算符在大型数据库上使用时很慢。附言还有一个"_"通配符,它正好匹配一个字符
我找不到 LIKE 运算符的任何详细文档。
%
匹配零个或多个字符,_
只匹配一个字符。
你的第一个模式's%s%'
会匹配,'ss'
、's1s'
、's1111s'
、'ss1111'
等。
但是,如果您写's_s_'
它将匹配's1s1'
,但以上都不匹配。