mysql 判断null 和 空字符串

1.在mysql中null 不能使用任何运算符与其他字段或者变量(函数、存储过程)进行运算。若使用运算数据就可能会有问题。

2.对null 的判断:

  创建一个user表:id 主健 name 可以为空

  select * from user;

  insert into user values(‘33‘,null);  ##创建一条name为空的数据

  insert into user values(‘222‘,‘‘);  ##创建一条为空字符的数据

  

用isnull判断是否为空:只有name 为null 的时候 ISNULL(exp) 函数的返回值为1 ,空串和有数据都为0;

过滤到null的sql 语句 还用可以用  select * from user where name is not null;

或者  select * from user where ISNULL(name)=0;

3. 同时剔除null 和 空字符串

select * from user where ISNULL(name)=0 and LENGTH(trim(name))>0;

4 在函数或者存储过程中判断是否为null 或者 空字符串

SELECT id,name,
	CASE
		WHEN (ISNULL(NAME)=1) || (LENGTH(trim(NAME))=0) THEN  ‘aaa‘
	END
FROM
	USER

 

原文地址:https://www.cnblogs.com/blogxiao/p/9251460.html

时间: 2024-11-08 19:49:52

mysql 判断null 和 空字符串的相关文章

velocity模板判断null和空字符串方法

在web开发中,经常会遇到一个需求是,判断变量为空(null)或者空字符串(""),从而影响页面的展示逻辑,velocity中有相应的方法可以判断.当然也可以在java后端转化到有效值再判断.以下是本人在开发中自己总结的,希望对大家有所帮助! (1)判断null #if( $name  ==  null) something code #end (2)判断null或者false #if( !$name) something code #end (3)判断null或者空字符串 #if(

SQL Server、Oracle和MySQL判断NULL的方法

SQL Server.Oracle和MySQL判断NULL的方法 本文讲述SQL Server.Oracle.MySQL查出值为NULL的替换. 在SQL Server Oracle MySQL当数据库中查出某值为NULL怎么办? 1.MSSQL: ISNULL() 语法 Java代码 复制代码代码如下: ISNULL ( check_expression , replacement_value ) ISNULL ( check_expression , replacement_value )

Django与SQL语言中——NULL与空字符串的区别

SQL有指定空值的独特方式,它把空值叫做NULL. Null在数据库中表示 不知道的数据,主要有3种意思: 1)知道数据存在,但不知道具体值. 2)不知道数据是否存在. 3)数据不存在. 在SQL中, NULL的值不同于空字符串,就像Python中None不同于空字符串("")一样.这意味着某个字符型字段(如VARCHAR)的值不可能同时包含NULL和空字符串. 这会引起不必要的歧义或疑惑. 为什么这条记录有个NULL,而那条记录却有个空字符串? 它们之间有区别,还是数据输入不一致?

PHP递归方式把一个数组里面的null转换为空字符串”的方法

在一些接口的调用中,直接查询数据库出来的字段可能为null字段,但是为了简便前端的判断,需要把null转换成空字符串'',这个时候就需要递归的方式进行.直接上代码如下: //递归方式把数组或字符串 null转换为空''字符串 public function _unsetNull($arr){ if($arr !== null){ if(is_array($arr)){ if(!empty($arr)){ foreach($arr as $key => $value){ if($value ===

Oracle中Null与空字符串' '的区别

含义解释: 问:什么是NULL? 答:在我们不知道具体有什么数据的时候,也即未知,可以用NULL,我们称它为空,ORACLE中,含有空值的表列长度为零. ORACLE允许任何一种数据类型的字段为空,除了以下两种情况: 1.主键字段(primary key), 2.定义时已经加了NOT NULL限制条件的字段 说明: 1.等价于没有任何值.是未知数. 2.NULL与0.空字符串.空格都不同. 3.对空值做加.减.乘.除等运算操作,结果仍为空. 4.NULL的处理使用NVL函数. 5.比较时使用关键

C++ NULL 与 空字符串 在使用时的注意点

在这不做 理论上的 释疑,只是提供示例代码 int main() { char *p=NULL; if (p==NULL) // { p="p is NULL pointer"; } printf("%s\n",p); return 0; } //此处说明:在定义 指针p的同时使用 NULL 对p进行初始化,若是在比较的时候用 p[0] == '\0' 则会报错//   原因是 p不指向任何变量,对p进行[]操作非法//   变量所指的范围 包括 普通的内置变量,自

laravel之null替换空字符串中间件

在laravel写接口的时候免不了数据库中保存null,可用诸如设置ORM的访问器或以下方法处理 $goods->name?$goods->name:''; 其实可以利用路由中间件,在需要的地方引入中间件即可 中间件 class ReplaceNullMiddleware { public function handle($request, Closure $next) { $response = $next($request); $data = json_decode($response-&

freemarker if判断字符串是否为null,为空字符串

网上查了,好久都没有一个可以表达清楚的,采取一个委婉的方法<#if segment.group_id?default("")?trim?length gt 1> <#if groups?size!=0> <#list groups as group> <#if group.groupId==segment.group_id> <td align="center" title="${segment.gro

关于null,undefined,空字符串的判断

<script> let a=xxx; if (!a && typeof a=="object") { alert('a是一个null'); }else if(!a && typeof a=="undefined"){ alert('a是undefined') }else if(!a && typeof a=='string'){ alert('a是一个空字符串') }else{ alert('其它') }