zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

MySQL如何判断字符串为NULL或者为空字符串

mysql 如何 字符串 判断 null 或者 为空
2023-06-13 09:20:04 时间
NULLIF(expr1,expr2) 如果expr1==expr2返回值为null,否则返回expr1的值;相当于case when expr1=expr2 then null else expr1 end

查找学生姓名不为null的学生信息

SELECT * FROM student WHERE ISNULL(stu_name) 1
SELECT * FROM student WHERE stu_name is not null

查询学生成绩,若score为null则返回0

SELECT IFNULL( score ,0) FROM stu_score
SELECT COALESCE( score ,0) FROM stu_score
SELECT IF(IFNULL( score ,null)=null,0,score) FROM stu_score
SELECT CASE WHEN score is null THEN 0 ELSE score END AS score FROM stu_score

MySQL中NULL和空字符串区别

相信很多用了MySQL很久的人,对这两个字段属性的概念还不是很清楚

一般会有以下疑问 1.字段类型是NOT NULL,为什么可以插入空值? 2.NOT NULL的效率比NULL高? 3.判断字段不为空的时,到底要 select * from table where column  还是要用 select * from table wherecolumn is not null 呢?

带着上面几个疑问,我们来深入研究一下NULL 和 NOT NULL 到底有什么不一样。

首先,我们要搞清楚 空字符串 和 NULL 的概念:

空值是不占用空间的。 MySQL中的NULL是占用空间的

打个比方来说,你有一个杯子,空值代表杯子是真空的,NULL代表杯子中装满了空气,虽然杯子看起来都是空的,但是区别是很大的。

在进行count()统计某列的记录数的时候,如果采用的NULL值,系统会自动忽略掉,但是空值是会进行统计到其中的。

判断NULL 用IS NULL 或者 IS NOT NULL, SQL语句函数中可以使用ifnull()函数来进行处理,判断空字符用= 或者 来进行处理

对于MySQL特殊的注意事项,对于timestamp数据类型,如果往这个数据类型插入的列插入NULL值,则出现的值是当前系统时间。插入空值,则会出现 0000-00-00 00:00:00

对于空值的判断到底是使用is null 还是= 要根据实际情况来进行区分。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。


我想要获取技术服务或软件
服务范围:MySQL、ORACLE、SQLSERVER、MongoDB、PostgreSQL 、程序问题
服务方式:远程服务、电话支持、现场服务,沟通指定方式服务
技术标签:数据恢复、安装配置、数据迁移、集群容灾、异常处理、其它问题

本站部分文章参考或来源于网络,如有侵权请联系站长。
数据库远程运维 MySQL如何判断字符串为NULL或者为空字符串