在 SQL 服务器上使用参数和通配符

Using Parameters and wildcards on SQL server

我正在使用在线 SQL 服务,您可以在其中编写 SQL 查询并将其链接到 URL。在 android 中,您可以在 return 请求中使用 url JSON 格式的结果

为了向服务传递参数,您必须使用冒号。 像这个例子:

SELECT Password FROM Users
where Username = :name

您可以将此查询与

一起使用
http://api.a16_sd502.studev.groept.be/getUserLogin/name

你可以用任何你想要的替换最后一个 'name'。

现在我有另一个查询,我想在使用通配符的数据库中搜索。

SELECT name, releaseDate, rating
FROM Movies 
WHERE name LIKE '%harry%'

这个returns:

[
    {
        "name": "Harry Potter and the Sorcerer's Stone",
        "releaseDate": "2001-11-22",
        "rating": "7.5"
    },
    {
        "name": "Harry Potter and the Chamber of Secrets",
        "releaseDate": "2002-11-02",
        "rating": "7.4"
    },
    {
        "name": "Harry Potter and the Prisoner of Azkaban ",
        "releaseDate": "2004-06-02",
        "rating": "7.8"
    }
]

这不使用参数,所以我想将 'harry' 替换为“:query”。这样我就可以通过 url 传递参数,就像第一个例子中这样:

http://api.a16_sd502.studev.groept.be/searchQuery/query

但是,这不起作用,因为它 return 是一个空的 JSON 数组。我犯了什么错误?我认为它与语法有关,但我无法弄清楚。

有什么解决办法吗?

试试这个:

SELECT name, releaseDate, rating
FROM Movies 
WHERE name LIKE CONCAT('%',:query,'%')