您当前的位置: 首页 > 数据库教程 > MySQL教程 > mysql isnull用法讲解

mysql isnull用法讲解

作者:不详 来源:网络 发布时间: 2014-07-17 10:18 点击:
mysql isnull用法讲解 MySQL 可以使用 ISNULL() 函数。不过它的工作方式与微软的 ISNULL() 函数有点不同。 我们先来看几个is null sql用法: select * from newtable where name is null //取得newtable表中name为null值的所有数据 select * from tbas_table where titl

mysql isnull用法讲解

  mysql isnull用法讲解

  MySQL 可以使用 ISNULL() 函数。不过它的工作方式与微软的 ISNULL() 函数有点不同。

  我们先来看几个is null sql用法:

  select * from newtable where name is null //取得newtable表中name为null值的所有数据

  select * from tbas_table where title not is null //取得tbas_table表中title字段不为null的所有数据

  再看如下语句:

  SELECT `click`,`title`,`created` FROM dcfsda_table WHERE click is not null

  再看如下语句:

  SELECT `id`,`title`,`describle` FROM bnsdh_table WHERE describle is not null

  我们可以看到此表有 1025014 数据,其中 describle 列只有一条是 null 值。也就是 describle 列的索引会存储此列的 1025014 条记录的信息,只有一条没有存。在选择怎么的时候, DB2 优化器会试着用这样两种方式,第一种是从表中取出每条记录,然后看它的 describle 值是否为空。第二种是,先从索引找到 describle 列所有非空的数据在表中的位置,然后在扫描表时,如碰到这些位置,则不用取出数据判断是否为空,直接跳到下一条记录。

  is not null 高效率应用:

  有些地方有这样的说法,is not null 不能利用索引,所以要将其改写成其他语句,以便能够利用索引提高效率。下面是测试情况:

  SQL 语句: SELECT click FROM bsga_table WHERE click is not null

  改写后的SQL 语句 : SELECT click FROM bsga_table WHERE click > 0 and click < 100001

  无论是 IS NULL 还是 IS NOT NULL ,并不是如网上所说的 is null 或者 is not null 不能利用索引,而是在不同的表数据结构环境下,有可能会利用索引有可能不利用索引,而决定如何执行查询的标准就是性能。

  扩展阅读:

  is null 是判断值是不是null,用=null则是跟null进行比较运算,而null跟任何值作比较运算结果都是false,也就不会有任何查询纪录。

  比如你有条记录值是null,用is null能查出来,用=null就不会返回任何结果。

    :更多精彩文章请关注三联编程教程栏目。
分享到:
本文"mysql isnull用法讲解"由远航站长收集整理而来,仅供大家学习与参考使用。更多网站制作教程尽在远航站长站。
顶一下
(0)
0%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
Copyright © 2007-2013 www.yhzhan.com(远航站长). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类网站制作教程.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4