在SQLITE中查找以a和b开头的行?

在SQLITE中查找以a和b开头的行?,sqlite,Sqlite,我试图在sqlite中找到所有以J或M开头的行。例如,在Microsoft Access中,我知道您可以使用: SELECT * FROM Customers WHERE cust_name LIKE '[JM]%'; 但是,我不确定sqlite中[]的等价物是什么。我有 尝试: 但这只返回以J开头的行:/n任何帮助都将不胜感激。请尝试以下代码 SELECT * FROM Customers WHERE cust_name LIKE 'J%' OR cust_name LIKE '

我试图在sqlite中找到所有以J或M开头的行。例如,在Microsoft Access中,我知道您可以使用:

SELECT *
FROM Customers
WHERE cust_name LIKE '[JM]%';
但是,我不确定sqlite中[]的等价物是什么。我有 尝试:


但这只返回以J开头的行:/n任何帮助都将不胜感激。

请尝试以下代码

SELECT * FROM Customers
WHERE cust_name LIKE 'J%' OR
      cust_name LIKE 'M%' 
ORDER BY cust_contact;
或者使用而不是LIKE,但它区分大小写并使用不同的语法

WHERE cust_name GLOB '[JjMm]*'

LIKE区分大小写,除非另外设置了选项,如
PRAGMA区分大小写\u LIKE=boolean。虽然可以为LIKE设置大小写敏感度,但GLOB始终是大小写敏感的。

是否希望行以J和M开头?使用
其中cust_name(如“J%”或cust_name(如“M%”)
),因为在您的代码中
M%
被解释为FALSE。请尝试使用,而不是实际使用。他在说或,但他需要和。看看上面他说的j或m。我知道字符串将同时包含j和m,但它表示“以…”开头。字符串只能以一个字母开头。这两个条件是互斥的,所以从逻辑上讲是不可能的。这与搜索的算法无关。这都是关于逻辑的。LIKE'M%'匹配以M开头的字符串。LIKE'J%'匹配以J开头的字符串。现在使用以下字符串“Make”。您将得到
真和假
。它将像“M%”一样匹配,但会像“J%”一样失败。现在用一个字符串“杰克”。它会像“M%”一样失败,像“J%”一样匹配。这将返回
FALSE和TRUE
。你永远也找不到一个以M和J开头的字符串。“MJake”几乎到达了那里,“JMake”也差不多到达了那里,但不完全到达。长命百岁。我讨厌看到反对票,因为你原来是正确的,所以我把它编辑回了有效的解决方案。它确实有效,非常感谢!!!!我刚刚打错了栏目:/My bad我是新来编码的:P
WHERE cust_name GLOB '[JjMm]*'