在 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,'%')
我正在使用在线 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,'%')