首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

MySQL中的ifnull()函数判断空值

比如说判断空值的函数,在Oracle中是NVL()函数、NVL2()函数,在SQL Server中是ISNULL()函数,这些函数都包含了当值为空值的时候将返回值替换成另一个值的第二参数。...但是在MySQL中,ISNULL()函数仅仅是用于判断空值的,接受一个参数并返回一个布尔值,不提供当值为空值的时候将返回值替换成另一个值的第二参数。...SELECT ISNULL('i like yanggb'); // 0 SELECT ISNULL(NULL); // 1 因此MySQL另外提供了一个IFNULL()函数。...简单介绍 IFNULL()函数MySQL内置的控制流函数之一,它接受两个参数,第一个参数是要判断空值的字段或值(傻?),第二个字段是当第一个参数是空值的情况下要替换返回的另一个值。...函数的语法 IFNULL(v1, v2) 其中,如果v1不为NULL,则IFNULL函数返回v1; 否则返回v2的结果。

9.7K10

SQL函数 IFNULL

SQL函数 IFNULL 测试NULL并返回适当表达式的函数。...描述 支持IFNULL作为SQL通用函数和ODBC标量函数。 请注意,虽然这两个执行非常相似的操作,但它们在功能上是不同的。 SQL通用函数支持三个参数。 ODBC标量函数支持两个参数。...SQL通用函数和ODBC标量函数的双参数形式是不一样的; 当expression-1不为空时,它们返回不同的值。 SQL通用函数计算表达式1是否为NULL。...False returns ex 示例 在下面的例子中,通用函数和ODBC标量函数都返回第二个表达式(99),因为第一个表达式是NULL: SELECT IFNULL(NULL,99) AS NullGen...,{fn IFNULL(NULL,99)} AS NullODBC 99 99 在下面的示例中,通用函数和ODBC标量函数示例返回不同的值。

38730

MySql常用函数(逻辑判断,字符串处理,日期函数)FIND_IN_SET、IF、ISNULL、IFNULL、NULLIF、SUBSTR、SUBSTRING_INDEX、CONCAT、LENGTH

数据库版本:MySql 5.7 FIND_IN_SET 定义: 在逗号分隔的字符串列表中查找指定字符串的位置 FIND_IN_SET(str,strlist) FIND_IN_SET()函数接受两个参数...IF函数 定义: IF函数根据条件的结果为true或false,true 返回第一个值,false返回第二个值。...`IF`(expr1,expr2,expr3) ISNULL(expr) 定义: 判断exper是否为空,是则返回1,否则返回0 ISNULL(expr) IFNULL(exper1,exper2)...定义: 判断exper1是否为空,是则用exper2代替 IFNULL(exper1,exper2) NULLIF(exper1,exper2) 定义: 如果expr1= expr2 成立,那么返回值为...NULLIF(exper1,exper2) 字符串函数 SUBSTR SUBSTR (str, pos) 截取从pos位置开始到最后的所有str字符串,mysql中的start是从1开始的 SUBSTR

1.4K10

基础SQL-DQL语句-SELECT查询的简单使用以及IFNULL函数

基础SQL-DQL语句-SELECT查询的简单使用以及IFNULL函数 分类 描述 关键字 DQL(Data Query Language)数据查询语言 (掌握) DQL语言并不是属于MYSQL官方的分类...> 1.5 查询结果参与运算(IFNULL 函数) 在上面查询 price 价格的时候,存在 NULL 的值,而 NULL 在 mysql 是不算为值的。...如果想要计算,此时就需要使用 IFNULL 函数,判断当查询的值为 NULL,可以设置为 0 ,操作如下: select 列名1 + 固定值 from 表名; -- 需求:将所有商品的价格+10元进行显示...(查询结果可参与运算) SELECT *,IFNULL(price,0)+10 FROM product; 执行如下: -- 将所有商品的价格+10元进行显示....(查询结果可参与运算) mysql> SELECT *,IFNULL(price,0)+10 FROM product; +------+-----------------+-------+------

1.4K10

mysql分区函数_mysql 分区可用函数

) SECOND() TIME_TO_SEC() TO_DAYS() WEEKDAY() YEAR() YEARWEEK() 等 当然,还有FLOOR(),CEILING() 等,前提是使用这两个分区函数的分区健必须是整型...EXPLAIN PARTITIONS跟踪发现都是全区扫描的,条件里加入WEEKDAY(visittime)这样的也不行 但是如果你插入的datetime字段是不带时间只有日期的话,where条件里没出现函数只用...=来判断日期,是可以分区搜索的 分区应该和索引一样,一但where中出现函数,就会全区扫描 下面的表PARTITION BY LIST (month(create_time)),Explain结果不太乐观...mysql> Explain partitions select * from rec_pay where create_time = ‘2014-06-01 00:00:00’ limit 20;...时发生 range:这个连接类型使用索引返回一个范围中的行,比如使用>或 index:以索引的顺序进行全表扫描,优点是不用排序,缺点是还要全表扫描 ALL:全表扫描,应该尽量避免 8 Extra:关于MYSQL

5.8K10

MySQL(函数)

目录: 函数与存储过程的区别 创建函数 使用函数 查看函数 删除函数 函数也是一组预先编译回到SQL的集合,基本和存储过程相似。...创建函数 语法: create function 函数名称(参数列表) returns 返回类型 binlog参数 begin 函数体 end; 详解: 参数列表:参数名称 参数类型 binlog...参数: no sql:函数体中没有SQL语句,也不会修改数据 reads sql data:函数体中存在SQL语句,但是整个数据是只读的,不会修改数据 modifies sql data:函数体中存在SQL...语句,并且会修改数据 contains sql:函数体中包含有SQL语句 函数体:在函数体中必须包含return语句,讲return放在函数体的最后一行执行。...return input1+input2; end;// 使用函数 语法: select 函数名(参数列表); 查看函数 语法: show create function 函数名; 删除函数 语法:

3K10

mysql函数索引_MySQL 函数索引 (Functional indexes)

,如下: 函数索引的字段数量受到表的字段总数限制 函数索引能够使用的函数与虚拟列上能够使用的函数相同 子查询,参数,变量,存储过程,用户定义的函数不允许在函数索引上使用 虚拟列本身不需要存储,函数索引和其他索引一样需要占用存储空间...函数索引可以使用 UNIQUE 标识,但是主键不能使用函数索引,主键要求被存储,但是函数索引由于其使用的虚拟列不能被存储,因此主键不能使用函数索引 如果表中没有主键,那么 InnoDB 将会使其非空的唯一索引作为主键...,因此该唯一索引不能定义为函数索引 函数索引不允许在外键中使用 空间索引和全文索引不能定义为函数索引 对于非函数的索引,如果创建相同的索引,将会有一个告警信息,而函数索引则不会 如果一个字段被用于函数索引...,那么删除该字段前,需要先删除该函数索引,否则删除该字段会报错 非函数索引支持对字段前缀进行索引,函数索引不支持前缀。...,SUBSTRING(col1, 1, 10) 可以使用函数索引。

3.3K20

MySQL 分布函数、前后函数

本文标识 : MQ0017 本文编辑 : 长安月下赏美人儿 编程工具 : MySQL、DBeaver 阅读时长 : 6分钟 1、分布函数 (1)应用场景:快速查看某个记录所归属的组内的比例 (2)...by 分区字段 order by 排序字段 desc/asc); (3)两种分布函数的介绍 percent_rank() 函数 显示的结果,每行按照如下公式进行计算: (rank-1)/(rows-1)...rank 为 RANK() 函数产生的序号,rows 为当前窗口的记录总行数 对于重复值,取重复值的第一行记录的位置 cume_dist() 函数 显示的结果,每行按照如下公式进行计算:rank.../rows rank 为 RANK() 函数产生的序号,rows 为当前窗口的记录总行数 对于重复值,取重复值的最后一行记录的位置 (4)实例比较两种分布函数 SELECT t3.* ,...lag(字段,N) 函数,指当前行的前 N 行的对应字段值 lead(字段,N) 函数,指当前行的后 N 行的对应字段值 (4)实例比较前后函数 SELECT t1.dimMemberID

3.2K20
领券