mysql=null的优雅解决方法

对于不是采用所有字段都是not null的mysql表设计而言,mysql提供了一个<=>操作符。

在oracle中我们的处理方式通常类似:

where a = #{var} or #{var} is null

或者

where a = nvl(#{var},' ') or nvl(#{var},' ') = ' '

在mysql中则是:

where a = ifnull(#{var},' ') or ifnull(#{var},' ') = ' '

或者:

where a= #{var} or #{var} is null。

通过<=>操作符,就无需关心null的问题,在<=>内部,null被当成了普通值进行对待,如下:

where a<=>#{var}

不用进行特殊的处理。

 

posted @ 2016-08-30 08:28  zhjh256  阅读(408)  评论(0编辑  收藏  举报