gpt4 book ai didi

sqlite - 查找确切的词作为字符串的一部分

转载 作者:行者123 更新时间:2023-12-03 18:34:11 27 4
gpt4 key购买 nike

我需要编写一个SQL语句,以在名为Track的表中列出名称完全相同的所有轨道(包括大写和小写)。换句话说,它不会在输出中包含带有诸如“正确”或“正确”之类字样的音轨名称

我写了这篇文章,但是我总是在正确的前后加上字母来单词,例如:更亮或更正确。

SELECT name

FROM Track

WHERE name LIKE "%right%";

最佳答案

LIKE用于模式匹配。 %表示“零个或多个字符”,例如在其他系统中的*通配符。 name LIKE "%right%"说:“名称是单词'right',前后带有任何含义”。这就是为什么您越来越“聪明”和“权利”。

使用正则表达式,您可以编写类似/\bright\b/的内容,其中\b表示“断字”。但是SQLite需要使用正则表达式的插件,而LIKE没有等效项。您只需使用%(零个或多个字符)或_(任意一个字符)。最好能做的是匹配LIKE "% right %"之类的空格,但是只有在“ right”周围有空格的情况下才起作用。 “现在”将不匹配。

如果要从“右向左”,“右转”和“左向右左”之类的值中选择“右”一词,则需要涵盖四种可能性。


这是开始。
在最后。
在中间。
一个人


这意味着四个表达式。

name LIKE "right %"   or
name LIKE "% right" or
name LIKE "% right %" or
lower(name) = "right"


默认情况下,SQLite中的 LIKE不区分大小写。 =不是,因此必须将 lower(name)标准化为小写。

关于sqlite - 查找确切的词作为字符串的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39694608/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com