sqlite
中的通配符如何工作。或者LIKE
运算符如何匹配。
对于考试,我们可以说:
1:LIKE('s%s%', 's12s12')
2:LIKE('asdaska', '%sk%')
在第一个示例中,%匹配在第一个 s 之后,以及它如何决定在%之后继续匹配%或 s 。
在第二个例子中,如果s先匹配,则返回 FALSE
两个示例都返回 TRUE 。从我的编程知识中我得出LIKE函数有点像递归函数,当2个可能性出现函数调用本身有2个不同的参数并在它们之间使用 OR 时,显然如果一个调用返回true, upper函数直接返回true。如果是这样,则LIKE运算符在大型DB上使用时安静得很慢。
附:还有一个'_'通配符,它只匹配一个字符
我找不到LIKE运算符的详细文档。
答案 0 :(得分:2)
%
匹配零个或多个字符,_
只匹配一个。
您的第一个模式's%s%'
将匹配,'ss'
,'s1s'
,'s1111s'
,'ss1111'
等等。
但是,如果你写了's_s_'
,它会与's1s1'
匹配,但不会与上述内容相符。