SQL中怎样才能不让空值参与模糊查询

SELECTSPClearCommunication,SPKnowledge,FROMtblNASurveyResultsWHERE((LastName=''+rtrim... SELECT
SPClearCommunication,
SPKnowledge,
FROM
tblNASurveyResults

WHERE

((LastName = ''+rtrim(@LastName)+'') and
(FirstName = ''+rtrim(@FirstName)+'') and
(Email like '%'+rtrim(@Email)+'%'))

正常是三者一起匹配进行查询.
目前是当输入LastName和FirstName,而不输入Email的时候也可以查出结果.
我想只输入LastName和FirstName,不输入Email的时候查不出结果,怎么办?(不要把(Email like '%'+rtrim(@Email)+'%')这句模糊查询语句删掉!)
谢谢.
谢谢. 其实现在就是一个"空值"的问题, 我模糊查询的3个条件,如果都匹配就输出正确结果了,如果其中一项有误,就输不出结果.
问题是现在我把模糊查询那个条件空着,输入另两个条件进行查询,一样查出来了. 也就是说怎么才能使得模糊查询不包括空值呢? 就是说咱不让空值参与模糊查询这个活动. 比如我的办法是在存储过程中判断模糊查询这个条件参数是否为null ,然后当其不为null的时候再查看三者条件是否匹配. 可又怎么做到呢? (明白你的意思,我如果有5个查询条件,那就是有31种情况,如果5个中有2个模糊查询条件,我不知道到老能否判断完毕 55555~~~)
展开
 我来答
百度网友017705705
2008-05-05 · TA获得超过1428个赞
知道小有建树答主
回答量:506
采纳率:0%
帮助的人:419万
展开全部
没办法
这是规范
你想象一下也不可能呀
如果你想查记录,那不是得一列一列的去判断呀,累死

那你在查询的按钮上填加个单击事件不就行了
判断3个条件是否为空

我说错了,那样就一条查不出了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yorklucky
2008-05-05 · 超过48用户采纳过TA的回答
知道答主
回答量:203
采纳率:0%
帮助的人:161万
展开全部
SELECT
SPClearCommunication,
SPKnowledge,
FROM
tblNASurveyResults

WHERE

((LastName = ''+rtrim(@LastName)+'') and
(FirstName = ''+rtrim(@FirstName)+'') and
(Email like '%'+rtrim(@Email)+'%')
and isnull(@Email,'')<>'')

不知道这是不是你要的结果,加上and isnull(@Email,'')<>'' 就使空的@email不参与查询了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式