我正在尝试在我的文档归档系统上为高级搜索页面编写查询。我正在尝试通过多个可选参数进行搜索。我有大约5个参数,它们可以是空字符串或搜索字符串。我知道我不必检查每个字符串或为空并为每个组合创建一个单独的存储过程。
编辑:最终使用:
ISNULL(COALESCE(@var, a.col), '') = ISNULL(a.col, '')
您可以这样使用COALESCE(或ISNULL):
WHERE COALESCE(@var1, col1) = col1
AND COALESCE(@var2, col2) = col2
AND COALESCE(@var3, col3) = col3
问题内容: 我有以下情况。我需要基于某些参数构建猫鼬查询。 也就是说,如果通过这样的对象 执行以下搜索: 如果如果动作不在对象中,则需要从搜索中排除“动作”,该怎么办?像这样使用三元运算符不起作用,就像在DB中的is中搜索条目一样。 问题答案: 以编程方式建立查询对象:
问题内容: 我正在开发一个需要搜索功能的应用程序,我想编写根据参数动态创建的HQL查询。目前我有4个参数,而根据用户想要的搜索方式,所有参数都是必需的,或者1或2或3个参数是必需的。 这是我对所有4个参数的常规查询,现在我必须编写一个搜索查询,在其中使用多个可选参数,如何使用可选参数进行此查询?请将我的查询转换为动态可选参数查询?谢谢 问题答案: 我这样自己转换查询
因此,为了提供搜索功能,我可以进行多个连接。我开始使用带有@query表示法的JPQL,但我必须对每个参数进行检查,结果一团糟。我开始研究其他选项,我看到了关于QueryDSL、标准和规范的东西,但我不确定我应该关注和学习哪一个。不幸的是,我不知道很多关于这个主题,我希望有人能指出我在正确的方向,以一个很好的实现这个搜索。谢谢!
问题内容: 我需要能够使用一个简单的搜索来搜索数据库的SQL查询。这是我的表格现在的样子: 我将如何去做呢?这是我尝试过的一些SQL查询,但是我的问题是它返回了大量数据。例如,如果我搜索像Snoop Dogg这样的艺术家,即使没有专辑名称,它也会为他所拥有的每张专辑和每首歌曲返回一行。 编辑: 这是一个示例数据库; 因此,我想搜索“ snoop”以仅返回艺术家“ Snoop Dogg”。但随后进行
问题内容: 我解释自己 我有一个填写查询的表格(例如): 但只有“ id”为必填项,所有其他参数均为可选。如何填写(或重新创建)该查询的预声明? 问题答案: 您将不得不使用多个准备好的语句,或者只是在运行时创建一条语句,检查您拥有哪些参数。 像这样: 更新/警告 :不要直接将参数值添加到查询字符串中,而应使用等。如上所示,查询字符串应仅包含值的占位符(例如),以防止SQL注入攻击。 我的意思是
我的Sql查询不正确。我想创建一个查询,搜索前三个字符等于给定参数的公司 我的错误: