SQL / sqlite通配符如何工作? LIKE运算符

时间:2012-04-10 16:05:09

标签: sql sqlite wildcard sql-like

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运算符的详细文档。

1 个答案:

答案 0 :(得分:2)

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

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

但是,如果你写了's_s_',它会与's1s1'匹配,但不会与上述内容相符。