null和’'的区别与判断

null是一种类型,''是空字符串,打个比方,''是你参加了考试且得了零分,而null则是你压根就没有参加考试。

如果要在sql中对两者进行判断,是有区别的:

//null只能和is或is not搭配,不能使用=、!=或者<>
select * from student where name is null;
select * from student where name is not null;//''的判断可以使用=、!=或者<>
select * from student where name = '';
select * from student where name != '';
select * from student where name <> '';

使用COALESCE函数

COALESCE函数是返回参数中的第一个非null的值,它要求参数中至少有一个是非null的,如果参数都是null会报错。

select COALESCE(null,null); //报错
select COALESCE(null,null,now()::varchar,''); //结果会得到当前的时间
select COALESCE(null,null,'',now()::varchar); //结果会得到''//可以和其他函数配合来实现一些复杂点的功能:查询学生姓名,如果学生名字为null或''则显示“姓名为空”
select case when coalesce(name,'') = '' then '姓名为空' else name end from student;

PostgreSQL - null和''的区别与判断以及COALESCE函数相关推荐

  1. SQL COALESCE函数和NULL

    目录 什么是COALESCE? 比较SQL的COALESCE和CASE 在处理NULL时,知道何时使用SQL COALESCE函数是一个救生员. 如您所知,NULL是一个棘手的概念,似乎NULL在表达 ...

  2. Javascript 中的非空判断 undefined,null, NaN的区别

    JS 数据类型 在介绍这三个之间的差别之前, 先来看一下JS  的数据类型. 在 Java ,C这样的语言中, 使用一个变量之前,需要先定义这个变量并指定它的数据类型,是整型,字符串型,.... 但是 ...

  3. java null和 的区别_java中null和的区别

    null和""的区别 问题一: null和""的区别 String s=null; string.trim()就会抛出为空的exception String s ...

  4. mysql两个空值相同吗_你知道mysql中空值和null值的区别吗

    前言 最近发现带的小伙伴写sql对于空值的判断方法不正确,导致程序里面的数据产生错误,在此进行一下整理,方便大家以后正确的判断空值.以下带来示例给大家进行讲解. 建表 create table tes ...

  5. 4. null 和 undefined区别?

    4. null 和 undefined区别? 首先 Undefined 和 Null 都是基本数据类型, 这两个基本数据类型分别都只有一个值, 就是 undefined 和 null. undefin ...

  6. java中null与_java中NULL与 的区别

    null和""的区别 问题一: null和""的区别 String s=null; string.trim()就会抛出为空的exception String s ...

  7. C语言 NULL 和 0 区别 - C语言零基础入门教程

    目录 一.关于 NULL 定义 二.NULL 和 0 区别 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 一.关于 NULL 定义 NU ...

  8. JAVA中isEmpty、null、的区别

    JAVA中isEmpty.null.""的区别 isEmpty()         分配了内存空间,值为空,是绝对的空,是一种有值(值 = 空)    ""   ...

  9. 形象解释 undefined 和 null 之间的区别

    形象解释 undefined 和 null 之间的区别

最新文章

  1. 《OpenCV3编程入门》学习笔记6 图像处理(三)形态学滤波(1):腐蚀与膨胀
  2. 单目相机的内外参标定
  3. 用circlize包绘制circos-plot
  4. Asp.net控件开发学习笔记(四)---Asp.net服务端状态管理
  5. java得到文件创建时间linux,linux java获取文件创建时间
  6. 基于ZooKeeper实现HA高可用性以及自动主备切换
  7. 您好,这是我的第一篇文章
  8. 用自己电脑做服务器,建个人网站
  9. jQuery三天复习.md
  10. python一切皆对象的理解_Python难点解析---初级篇2.一切皆对象
  11. Python金融系列第六篇:现代投资组合理论
  12. position的4个值和用法
  13. 人生就像一张茶几,摆满了各种杯具/洗具/餐具!
  14. LT8911EXB功能概述 LT8911EXB是MIPI转EDP一般能用于车载,平板,教育电子,广告机,收银机等等
  15. 2019网红带货电商新趋势,与传统电商说再见-云秀传媒
  16. window的onload()的使用
  17. 千万级巨型汉语词库分享
  18. ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务 的解决方法
  19. 动态代理最全详解系列[2]-Proxy生成代理类对象源码分析
  20. maven-war-plugin插件 overlays使用

热门文章

  1. linux挂载cifs磁盘_CentOS7.4_1708挂载CIFS报错
  2. 充电电流的大小是谁决定的?
  3. Llinux装逼命令大全
  4. 报表开发工具!DevExpress Reporting v19.1:WPF/Web平台报表
  5. Python灰帽子笔记二
  6. 第三十四章 数论——高斯消元解线性方程组
  7. 图片转素描的工具汇总
  8. 蓝桥杯:三羊献瑞(答案不唯一)
  9. GridView数据库分页+自定义分页导航(二):自定义分页导航。首页、上一页、下一页、尾页和跳转
  10. 思杰虚拟服务器,思杰服务器虚拟化安装