带有空值的sql选择
我有 SP 从具有两列的表中选择数据,如下所示
@param1 text,
@param2 text
Select * from tablle1 where field1 like @param1 and field2 like @param2
但是,因为有时 Filed2 为 null 我必须这样做,否则查询不会返回任何内容
@param1 text,
@param2 text
Select * from tablle1 where field1 like @param1 and (field2 like @param2 OR field2 IS NULL)
我的问题是,如果我现在尝试使用 @param2
和 @param1
的 '%' 我从表中获取所有行
我如何在每种情况下都做到这一点? 我打算在 asp.net 站点上的搜索表单中使用此 SP,并为用户提供在搜索中使用“%”的选项。(最终我会搜索更多字段,并且每个字段上都会有一个文本框)默认为“%”的页面)
I have SP that selects data from a table with two columns like this
@param1 text,
@param2 text
Select * from tablle1 where field1 like @param1 and field2 like @param2
However , because sometimes Filed2 is null i had to do this , otherwise the query returned nothing
@param1 text,
@param2 text
Select * from tablle1 where field1 like @param1 and (field2 like @param2 OR field2 IS NULL)
My problem is that if I now try to run the SP with a value for @param2
and '%' for @param1
i get all the rows from the table
How can i make this in every situation ?
I intend to use this SP in a search form on a asp.net site, and give the users the option to use '%' in searches.(eventually there would me more fields to search for and each one will have a textbox on the page that defaults to '%')
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
你应该看看 Sommarskogs 主页
这是关于该主题的最佳参考,它将还可以解决您在使用此代码时最可能遇到的一些其他问题。
you should take a look at Sommarskogs homepage
It is the best reference on the subject, and it will also solve some of the other problems you most probably are having with this code.
试试这个
try this