【问题标题】:LIKE query in sqlite3sqlite3 中的 LIKE 查询
【发布时间】:2021-06-26 02:27:04
【问题描述】:

我在 w3 学校做练习:

https://www.w3schools.com/sql/exercise.asp?filename=exercise_wildcards2

这里的查询是:选择城市的第一个字母是“a”或“c”或“s”的所有记录。

但是当我在本地设备上使用 sqlite3(使用类似的表)运行相同的查询时,它什么也没显示。

SELECT * FROM customers WHERE city LIKE '[acs]%';

请随时向我询问有关此问题的更多详细信息,并提前感谢您。

【问题讨论】:

    标签: mysql sql sqlite


    【解决方案1】:

    SQLite 不支持增强的LIKE 运算符,该运算符支持您正在使用的语法(尽管 SQL Server 支持)。 SQLite 确实支持REGEXP 运算符,但需要加载。但是,我们可以使用LIKE 来表达您的查询,如下所示:

    SELECT *
    FROM customers
    WHERE city LIKE 'a%' OR city LIKE 'c%' OR city LIKE 's%';
    

    【讨论】:

      【解决方案2】:

      SQLite 支持GLOB 运算符,该运算符使用 Unix 文件通配符作为通配符:

      SELECT * FROM customers WHERE city GLOB '[acs]*';
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-04-12
        • 1970-01-01
        • 1970-01-01
        • 2014-10-11
        • 2018-02-23
        • 2016-06-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多