首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql ifnull,其中

mysql ifnull,其中
EN

Stack Overflow用户
提问于 2010-12-31 16:57:15
回答 4查看 3.9K关注 0票数 0

我需要这样的查询

代码语言:javascript
复制
select * from t where
field=ifnull(:param, field) 'it not work's

所以如果我有param=NULL

代码语言:javascript
复制
select * from t where field is NULL

但是如果param =4,我有

代码语言:javascript
复制
select * from t where field=4
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-12-31 17:05:52

当where子句中的AFAIK bot对MySQl不确定时,可以使用case,

但更好的方法是翻译它们,

您可以阅读有关该SQL WHERE clauses: Avoid CASE, use Boolean logic的内容

所以

代码语言:javascript
复制
select * from t where (:param is null and filed is null) or (filed = :param)
票数 3
EN

Stack Overflow用户

发布于 2010-12-31 17:20:18

你可以试试这个方法,这可能会对你有帮助。

代码语言:javascript
复制
 select * from t where (field = NULL AND param= NULL) OR field ='4'
票数 1
EN

Stack Overflow用户

发布于 2010-12-31 17:04:41

我认为你正在寻找NULLIF而不是ifnull。

我认为更好的方法是在where子句中使用case。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4569106

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档