您现在的位置是:首页 > 网站建设常见问答网站建设常见问答

Thinkphp中查询字段为空的记录技巧

2018-04-07【网站建设常见问答】1606 人已围观

简介Thinkphp中查询复杂的情况需要使用查询表达式,使用格式:$map['字段名'] = array('表达式',&...

Thinkphp中查询复杂的情况需要使用查询表达式,使用格式:

$map['字段名']  = array('表达式','查询条件');

表达式不分大小写,支持的查询表达式有下面几种,分别表示的含义是:

表达式           含义

EQ           等于(=)

NEQ        不等于(<>)

GT          大于(>)

EGT        大于等于(>=)

LT          小于(<)

ELT       小于等于(<=)

LIKE     模糊查询

[NOT] BETWEEN  (不在)区间查询

[NOT] IN        (不在)IN 查询

EXP     表达式查询,支持SQL语法

示例见Thinkphp的官方文档。官方文档中没有查询某字段为空的例子,试了试,方法如下

  判定不为空

  $cond['pic']=array('NEQ','NULL');   //字段pic不为空
  $list=$mod->where($cond)->order('id desc')->select();

判定为空

  $cond['pic']=array('EQ','NULL');   //字段pic为空

其实挺简单的,一看就知道,只是官方的文档中没有例子。

这是我网上看到的一个文章 ,当然殷雯小编遇到了同样的问题, 但是这个文章还是很不全面,在mysql中null和空字符串还是有差别的.

eq,null 只是一种空的情况,还有就是真正为空.

组织sql里尽量把这二种情况都写入

and (a <> "" and a is not NULL) 这样写才保险.



关注宁波网站建设博客,更多精彩分享,敬请期待!
 

Tags:

很赞哦! ()

文章评论

点击排行

本站推荐

站点信息