我有一条 SQL 语句来按名称搜索应用程序。
def apps = Application.findAll("from Application as app where lower(app.name) like '%${params.query.toLowerCase()}%' ")
我不仅希望能够按应用程序名称进行搜索,还希望能够按类型和语言等不同属性进行搜索。我将如何添加或声明以允许我这样做。谢谢!
我有一条 SQL 语句来按名称搜索应用程序。
def apps = Application.findAll("from Application as app where lower(app.name) like '%${params.query.toLowerCase()}%' ")
我不仅希望能够按应用程序名称进行搜索,还希望能够按类型和语言等不同属性进行搜索。我将如何添加或声明以允许我这样做。谢谢!
目前尚不清楚(对我而言)您正在使用什么框架,或者您的数据库在什么特定的 RDBMS 上,但 SQL 条件的总体主旨通常非常简单。
几乎与大多数其他计算机语言一样,您使用和/或/非语句。当然,在 SQL 中,您使用单词,而不是(通常是)符号:
AND
代替&&
OR
代替||
NOT
代替!
连同标准比较运算符:
<
, <=
, =
, <>
, >
,>=
请注意,“等于”只是一个=
符号,“不等于”通常是对立的尖括号<>
。
因此,鉴于您当前的声明,如果您只想以用户的语言获取这些应用程序,并排除“禁用”的应用程序,您可以执行以下操作:
def apps = Application.findAll("from Application as app
where lower(app.name) like '%${params.query.toLowerCase()}%'
and app.language = userLanguageParameter
and app.status <> inactiveAppStatus ");