`

MySQL NULL值操作

 
阅读更多
NULL值可能令人感到奇怪直到你习惯它。概念上,NULL意味着“没有值”或“未知值”,且它
被看作与众不同的值。为了测试NULL,你不能使用算术比较 操作符例如=、<或!=。为了说明
它,试试下列查询:
mysql> SELECT 1 = NULL, 1 <> NULL, 1 < NULL, 1 > NULL;
+----------+-----------+----------+----------+
| 1 = NULL | 1 <> NULL | 1 < NULL | 1 > NULL |
+----------+-----------+----------+----------+
|     NULL |      NULL |     NULL |     NULL |
+----------+-----------+----------+----------+
1 row in set (0.00 sec)

很显然你不能通过这些比较得到有意义的结果。相反使用IS NULL和IS NOT NULL操作符:
 mysql> SELECT 1 IS NULL, 1 IS NOT NULL;
+-----------+---------------+
| 1 IS NULL | 1 IS NOT NULL |
+-----------+---------------+
|         0 |             1 |
+-----------+---------------+
1 row in set (0.00 sec)

请注意在MySQL中,0或 NULL意味着假而其它值意味着真。布尔运算的默认真值是1。
在GROUP BY中,两个NULL值视为相同。
执行ORDER BY时,如果运行 ORDER BY ... ASC,则NULL值出现在最前面,若运行ORDER BY ...DESC,则NULL值出现在最后面。
mysql> select 0 is null,0 is not null,'' is null,'' is not null;
+-----------+---------------+------------+----------------+
| 0 is null | 0 is not null | '' is null | '' is not null |
+-----------+---------------+------------+----------------+
|         0 |             1 |          0 |              1 |
+-----------+---------------+------------+----------------+
1 row in set (0.00 sec)

因此完全可以在定义为NOT NULL的列内插入0或空字符串,实际是NOT NULL
分享到:
评论

相关推荐

    Mysql实现null值排在最前/最后的方法示例

    前言 我们已经知道 MySQL 使用 SQL ...=&gt;: 比较操作符(不同于=运算符),当比较的的两个值为 NULL 时返回 true。 关于 NULL 的条件比较运算是比较特殊的。你不能使用 = NULL 或 != NULL 在列中查找 NULL 值 。 在 MySQ

    MySQL NULL 值处理实例详解

    MySQL NULL 值处理 我们已经知道MySQL使用...=&gt;: 比较操作符(不同于=运算符),当比较的的两个值为NULL时返回true。 关于 NULL 的条件比较运算是比较特殊的。你不能使用 = NULL 或 != NULL 在列中查找 NULL 值 。 在My

    详解MySQL中的NULL值

    处理`NULL`值时,需要注意一些特定的规则和操作符。本篇文章将深入解析MySQL中的`NULL`值及其相关的查询方法。 首先,当尝试使用`= NULL`或`!= NULL`这样的条件来查询`NULL`值时,SQL系统不会返回预期的结果。这是...

    MySQL NULL 值处理

    MySQL NULL 值处理 ... : 比较操作符(不同于 = 运算符),当比较的的两个值相等或者都为 NULL 时返回 true。 关于 NULL 的条件比较运算是比较特殊的。你不能使用 = NULL 或 != NULL 在列中查找

    关于sql中求平均值出现null值的解决方案

    在SQL查询中,当我们尝试计算平均值(AVG)时,遇到null值是一个常见的问题。null值在数据库中表示未知或未定义的数据,而在数学计算中,任何数值与null相加或相乘都会得到null。因此,当你在SQL中对包含null的列...

    mysql中将null值转换为0的语句

    在MySQL中,处理`NULL`值有多种方法,这里我们提到的是`IF`函数,还有其他的函数和操作: 1. **IFNULL**:这个函数可以更简洁地达到相同的效果。`IFNULL(expression, value_if_null)`会在`expression`为`NULL`时...

    MySQL里的IFNULL、NULLIF和ISNULL用法

    用到了MySql里的isnull才发现他和MSSQL里的还是有点区别,现在简单总结一下: ...isnull() 函数同 is null比较操作符具有一些相同的特性。请参见有关is null 的说明。  IFNULL(expr1,expr2)的用法:

    MySQL null与not null和null与空值的区别详解

    MySQL官方文档提到,对于`NULL`列,系统会额外存储一个位来标记该值是否为`NULL`,这在MyISAM表中尤为明显,每个`NULL`列会占用一个额外的比特位,如果需要的话,会向上取整到下一个字节。 在创建表时,如果你将...

    Mysql NULL导致的神坑

    本篇文章将深入探讨MySQL中`NULL`值与比较运算符之间的交互及其可能带来的问题。 1. **NULL与任何比较运算符的结果** 当我们尝试用比较运算符(如`&gt;`、`、`&gt;=`、`、`=`、`&lt;&gt;`或`!=`)来比较`NULL`值时,结果并不会...

    MySQL字符串操作

    MySQL 字符串操作 MySQL 字符串操作是数据库管理系统 MySQL 中的一种基本操作,用于处理和操纵字符串数据。字符串操作是数据库查询和数据处理的基础之一,它可以帮助我们快速地处理和提取数据,提高数据处理效率和...

    MySQL Left JOIN时指定NULL列返回特定值详解

    当右表的某些字段在LEFT JOIN后为NULL时,我们可以利用函数来将这些NULL值替换为特定值,如0或其他有意义的值。在MySQL中,有几种方法可以实现这一目标,包括IFNULL、COALESCE以及IF函数。 首先,让我们深入了解...

    MySQL常用操作基本

    ### MySQL 常用操作基本知识点详解 #### 一、导出数据库 1. **完整导出** - **命令格式**: ``` mysqldump -u 用户名 -p --default-character-set=字符集 数据库名 &gt; 文件名 ``` - **示例**: ``` mysqldump...

    mysql字符串拼接并设置null值的实例方法

    本文主要探讨了如何在MySQL中进行字符串拼接,并且处理可能存在的NULL值。 首先,我们来看最基本的字符串拼接函数——`CONCAT()`。这个函数允许你合并一个或多个字符串。例如,如果你有两个字段`last_name`和`first...

    常见的MySQL操作

    ### 常见的MySQL操作知识点详解 #### 一、MySQL基本操作介绍 本文档将详细介绍MySQL中的基本操作,特别适合初学者学习和掌握。MySQL作为一款广泛使用的开源关系型数据库管理系统,在各种应用场景中都有着不可替代...

    mysql操作手册.pdf

    本手册主要涵盖了MySQL的基本操作,包括安装、登录、数据库与表的创建以及数据完整性约束等内容。 首先,安装MySQL是使用它的第一步。在安装过程中,需要设置超级用户的密码,这里建议统一设置为"1234"。安装完成后...

    MySQL中NULL对索引的影响深入讲解

    因此,当涉及到比较操作(如`=`、`、`&gt;`)时,`NULL`与任何值的比较结果都是不确定的,而不是简单的真或假。此外,对`NULL`进行算术运算的结果也会是`NULL`,在`COUNT()`函数中,`NULL`行不会被计入总数。而且,`...

    详解mysql不等于null和等于null的写法

    在SQL语言中,`NULL`是一个特殊的值,它表示未知或者未定义。处理`NULL`值时,需要注意其与...在MySQL中,使用`IS NULL`和`IS NOT NULL`来处理`NULL`值,同时了解相关的函数和约束,能帮助我们更有效地管理和操作数据。

    MySQL导出数据遇到secure-file-priv问题的解决方法

    在MySQL数据库操作中,有时我们在尝试导出数据时可能会遇到一个错误提示:“ERROR 1290 (HY000): The MySQL server is running with the –secure-file-priv option so it cannot execute this statement.” 这个...

Global site tag (gtag.js) - Google Analytics