
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~~~) 展开
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~~~) 展开
2个回答
展开全部
没办法
这是规范
你想象一下也不可能呀
如果你想查记录,那不是得一列一列的去判断呀,累死
那你在查询的按钮上填加个单击事件不就行了
判断3个条件是否为空
我说错了,那样就一条查不出了
这是规范
你想象一下也不可能呀
如果你想查记录,那不是得一列一列的去判断呀,累死
那你在查询的按钮上填加个单击事件不就行了
判断3个条件是否为空
我说错了,那样就一条查不出了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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不参与查询了
SPClearCommunication,
SPKnowledge,
FROM
tblNASurveyResults
WHERE
((LastName = ''+rtrim(@LastName)+'') and
(FirstName = ''+rtrim(@FirstName)+'') and
(Email like '%'+rtrim(@Email)+'%')
and isnull(@Email,'')<>'')
不知道这是不是你要的结果,加上and isnull(@Email,'')<>'' 就使空的@email不参与查询了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询