php mysql 字段不为空_Thinkphp中查询复杂sql查询表达式,如何表达MYSQL中的某字段不为空is not null?...
Thinkphp中查询复杂sql查询表达式,如何表达MYSQL中的某字段不为空is not null?
先上两种实现方式的实例:
$querys["house_type_image"] = array('NEQ','NULL'); //判断字段不为空
//$querys["house_type_image"] = array('exp','is not null');//其中的exp表示MYSQL的表达式查询,支持各种MYSQL语句的添加
-------------------------
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为空
官方的文档中没有对应例子。
Thinkphp中如何表达MYSQL中的某字段不为空is not null?
Thinkphp 的文档经常不够完整的表达MYSQL的各种组合,很多东西需要被尝试后才能知道,MYSQL查询语句中有个表达式is not null ,在thinkphp中就不能用“=” 或者简单的eq等来表示。
有一种变相的处理方法就是直接把where中的array参数换成string,即比如我要查询某表的pic不为空
$data = D('tablename');
$data->where(“pic is not null”)->select();
而有时候我已经写了一堆的array参数,实在不愿意为了一个字段改变整体格式,
经过多次测试发现了TP还是支持MYSQL不为空的array编写方式的,即:
$map['pic'] = array('exp','is not null');
其中的exp表示MYSQL的表达式查询,支持各种MYSQL语句的添加。
该写法同时支持在update中对字段进行自动增值:
SQL语句 update table set data=data+1;
用THINKPHP可以表达为
$data['data'] = array('exp','data+1');
$table->where(1)->save($data);
//$querys["house_type_image"] = array('exp','is not null');
php mysql 字段不为空_Thinkphp中查询复杂sql查询表达式,如何表达MYSQL中的某字段不为空is not null?...相关推荐
- Java 中如何使用 SQL 查询文本
[摘要] 使用 SQL 查询语言,你只能查询位于数据库里面的数据,但是当你面对的数据是一些 Excel 表格或者 Txt 文本格式时,有什么办法能直接对着文件进行 Select 查询呢 ...
- java 查询sql_Java 中如何使用 SQL 查询文本
[摘要] 使用 SQL 查询语言,你只能查询位于数据库里面的数据,但是当你面对的数据是一些 Excel 表格或者 Txt 文本格式时,有什么办法能直接对着文件进行 Select 查询呢?去乾学院看个究 ...
- Hibernate中的命名SQL查询
2019独角兽企业重金招聘Python工程师标准>>> 1. 命名查询指的是用<sql-query>标签在影射文档中定义的SQL查询,可以通过使用Session.get ...
- mysql 索引未命中_联合索引命中率问题导致SQL查询效率慢的问题
执行 MySQL DumpSlow 结果是:Count: 1358 Time=0.33s (448s) Lock=0.00s (0s) Rows=2.5 (3343) Count:出现次数 Ti ...
- oracle和mysql文件怎么打开_Oracle vs Mysql--架构、sql查询执行流程及SQL解析顺序区别说明-sql文件怎么打开...
概述 之前分享的主要是Oracle上的一些内容,那么mysql又有哪些地方不一样呢?下面从MySQL总体架构.sql查询执行流程和语句执行顺序来看一下.. 01 架构总览 下面看一下mysql的架构图 ...
- mysql pdo 获取最后一条sql_一条sql语句的执行过程-mysql
平时我们使用数据库,看到的通常都是一个整体.比如,你有个最简单的表,表里只有一个 ID 字段,在执行下面这个查询语句时: mysql> select * from T where ID=10: ...
- php pdo预处理查询,关于php:从PDO预处理语句中获取原始SQL查询字符串
在对准备好的语句调用pdoStatement::execute()时,是否有方法执行原始SQL字符串?出于调试目的,这将非常有用. 对于php>=5.1,请查看php.net/manual/en ...
- python 查询sqlserver 视图_在Python中,将SQL查询的输出显示为表,就像在SQL中一样...
这似乎是一个基本的函数,但我对Python还不熟悉,所以也许我没有正确地搜索这个函数. 在Microsoft SQL Server中,当SELECT top 100 * FROM dbo.Patien ...
- mysql 怎么查询慢sql语句_如何优化MySQL中查询慢的SQL语句啊?
追问 恩恩我对sql稍微了解点 不知道怎么优化慢sql 可以指导一下嘛 谢谢啦 可以加下我qq吗 1501630150来自:求助得到的回答 mysql数据库有100万+数据,查询起来很慢了,如何优化 ...
最新文章
- JavaScript 数组排序及查找数组中最大值最小值方法
- Chrome浏览器内部协议Chrome://收集
- 图像拼接 Image-based only, no GPS/IMU data
- sublime运行python代码python没显示_解决windows下Sublime Text 2 运行 PyQt 不显示的方法分享...
- virsh KVM管理工具
- android搜索功能xml,Android_Android ActionBar搜索功能用法详解,本文实例讲述了Android ActionBar - phpStudy...
- 企业自助分析难以推动?我用这套四步走方案解决了这个难题
- exadata磁盘组无法mount恢复---惜分飞 1
- 使用 ssmtp 於 shell 透過 Gmail 寄信
- Ubuntu,QT5连接MySQL
- RTP协议与RTCP协议简介
- 【ACL2020】使用问题图生成解决multi-hop复杂KBQA
- YouTube和Twitch上的流媒体之间有何区别?
- 操作系统-5大功能、5大类型
- sublime text 打开txt文档乱码问题
- WPS Office 2019 for Linux(WPS 2019 文字操作指引)
- 文本选择毒战:我的过度阐释
- 软盘是什么_什么是软盘?
- 微信公众平台-测试号网页授权-获取openid方法
- SpringBoot与拦截器