位置: 编程技术 - 正文

MySQL中对于NULL值的理解和使用教程(mysql null+1)

编辑:rootadmin

推荐整理分享MySQL中对于NULL值的理解和使用教程(mysql null+1),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:mysql中的null值,在mysql中null的含义是,在mysql中null的含义是,mysql =null和is null,mysql nullif,在mysql中null的含义是,在mysql中null的含义是,mysql null+1,内容如对您有帮助,希望把文章链接给更多的朋友!

NULL值的概念是造成SQL的新手的混淆的普遍原因,他们经常认为NULL是和一个空字符串''的一样的东西。不是这样的!例如,下列语句是完全不同的:

两个语句把值插入到phone列,但是第一个插入一个NULL值而第二个插入一个空字符串。第一个的含义可以认为是“电话号码不知道”,而第二个则可意味着“她没有电话”。

在SQL中,NULL值在于任何其他值甚至NULL值比较时总是假的(FALSE)。包含NULL的一个表达式总是产生一个NULL值,除非在包含在表达式中的运算符和函数的文档中指出。在下列例子,所有的列返回NULL:

如果你想要寻找值是NULL的列,你不能使用=NULL测试。下列语句不返回任何行,因为对任何表达式,expr = NULL是假的:

要想寻找NULL值,你必须使用IS NULL测试。下例显示如何找出NULL电话号码和空的电话号码:

在MySQL中,就像很多其他的SQL服务器一样,你不能索引可以有NULL值的列。你必须声明这样的列为NOT NULL,而且,你不能插入NULL到索引的列中。

当用LOAD DATA INFILE读取数据时,空列用''更新。如果你想要在一个列中有NULL值,你应该在文本文件中使用N。字面上的词'NULL'也可以在某些情形下使用。

当使用ORDER BY时,首先呈现NULL值。如果你用DESC以降序排序,NULL值最后显示。当使用GROUP BY时,所有的NULL值被认为是相等的。

为了有助于NULL的处理,你能使用IS NULL和IS NOT NULL运算符和IFNULL()函数。

MySQL的 IFNULL() 函数和Oracle的 NVL() 函数功能类似。以下简单举例:IFNULL(expr1, expr2) 如果expr1不是NULL,IFNULL()返回expr1,否则它返回expr2。IFNULL()返回一个数字或字符串值,取决于它被使用的上下文环境。

MySQL中对于NULL值的理解和使用教程(mysql null+1)

功能:如果string1为NULL,则NVL函数返回replace_with的值,否则返回string1的值。引申一下,此NVL的作用与SQLserver 中的 ISNULL( string1, replace_with) 一样。注意事项:string1和replace_with必须为同一数据类型,除非显式的使用TO_CHAR函数。例:

其中numeric_column代指某个数字类型的值。例:

NVL(yanlei, 0) 的意思是 如果 yanlei 是NULL,则取 0值

null与空值的辨析来看这样一段代码:

错误(不可以插入null值):

正确(插入''没问题):

检索(''不是null,所以not null会把''都算进去):

结果:所有三条数据

检索(正常检索):

结果:最后一条数据

检索(<>'',会同时排除''和null的数据,只检索有内容的数据):

总结:1. null的存储不是'',是其它特殊的字符表示。2. null在检索<>''的时候,也会被排除,因为没有真正有意义的内容3. not null严格按照字面意思,''不会被排除。4. 定义not null的字段,可以插入''

MySQL存储过程中的基本函数和触发器的相关学习教程 MySQL存储过程的常用函数一.字符串类CHARSET(str)//返回字串字符集CONCAT(string2[,...])//连接字串INSTR(string,substring)//返回substring首次在string中出现的位置,不存

实现MySQL回滚的Python脚本的编写教程 操作数据库时候难免会因为大意而误操作,需要快速恢复的话通过备份来恢复是不太可能的,因为需要还原和binlog差来恢复,等不了,很费时。这里先

美团网技术团队分享的MySQL索引及慢查询优化教程 MySQL凭借着出色的性能、低廉的成本、丰富的资源,已经成为绝大多数互联网公司的首选关系型数据库。虽然性能出色,但所谓好马配好鞍,如何能够更

标签: mysql null+1

本文链接地址:https://www.jiuchutong.com/biancheng/312379.html 转载请保留说明!

上一篇:MySQL中利用索引对数据进行排序的基础教程(mysql 使用索引)

下一篇:MySQL存储过程中的基本函数和触发器的相关学习教程(mysql存储过程cursor)

  • 可以抵扣进项税额的增值税普通发票
  • 如何开具免税发票
  • 发票在系统里作用大吗
  • 合同取得成本属于
  • 本年利润和利润分配未分配利润的区别
  • 过路费报销属于什么费用科目
  • 增值税不视同销售行为有哪些
  • 空调属于电子设备还是电气设备
  • 开发成本公式
  • 临时税务登记可以开发票吗
  • 固定资产账面价值公式
  • 销售折扣怎么开
  • 会计凭证可分为哪三类
  • 固定资产台账登记表明细科目写什么
  • 企业用银行存款购买原材料
  • 赠送给客户
  • 海关进口关税专用缴款书可以抵扣吗
  • 教育附加费和地方教育附加费的计算
  • 零申报的印花税怎么打印
  • 以前年度损益调整属于哪类科目
  • 交易性金融资产属于什么类
  • 计提当月电费账务处理
  • 收到银行承兑汇票后,如何取钱
  • 代销商品手续费计入什么科目
  • 公司交会费有什么用
  • 苹果电脑双系统好不好
  • PHP:mb_strrchr()的用法_mbstring函数
  • 银行同业利息 水利基金
  • 当月计算的增值税怎么算
  • 迁徙的季节主要从哪几个方面写秋天的景物
  • 库存现金要设置明细科目吗
  • php session_id
  • php的两种运行方式
  • 初级职称到中级职称需要上继续教育课吗
  • php 数组相加
  • less中使用js变量
  • 长期股权投资
  • 爬虫基本原理有哪些
  • 增值税折扣发票有折扣字样
  • 使用Go http重试请求
  • 研发样品收入的最新规定
  • 哪些费用可以在以后年度扣除
  • 垮年发票作废
  • 长期待摊费用属于调整账户吗
  • c++operator详解
  • 个人开具工程款发票
  • 微信红包是否缴纳个税
  • sql server 2014删除
  • mysql存储过程查看权限
  • 一个简单的脚本
  • 以公允价值计量计入其他综合收益
  • 结转的制造费用
  • 保理手续费计入投资收益吗
  • 办税人员可以是开票员吗
  • 施工企业应收账款确认依据
  • MySQL slave_net_timeout参数解决的一个集群问题案例
  • sql server 数据库日志不可用
  • ubuntu系统管理
  • 会声会影win7怎么兼容
  • win10系统出现蓝色框框
  • vim如何复制粘贴
  • win7系统无法更改主题
  • 开发者学校
  • [置顶] clauvio,Twitter小老鼠
  • Android使用领域
  • bash脚本语言
  • python读配置文件配置信息
  • Qualcom QMI系列-基本知识介绍
  • node.js的理解
  • shell命令怎么用
  • jquery自带的弹出框
  • openlayers3示例
  • python列表的常用方法有哪些
  • 我是一般纳税人对方给我开的普票
  • 深圳微信税务局登录不了
  • 车辆购置税完税证明有用吗
  • 宁波北仑有哪些服装厂
  • 国税申报密码忘了怎么办
  • 税收筹划与避税的性质相同
  • 业务竞赛经验分享
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设