问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

mysql数据库里面的NULL属性是什么意思?

发布网友 发布时间:2022-04-26 14:06

我来回答

4个回答

懂视网 时间:2022-04-30 00:38

1.  null与 “”、0的区别

     数据库中的null表示——不知道,“”——一个空字符串,0则是一个数值。

     所以null是指不确定的意思,而后两者则都是确定的值。因此,我们在项目中必须严格区分null和空字符串、0 。  

2.  查询Name为null的人的信息  

    在表 t_person中,Name这一列的值,可以为null,现在我们要查询所有Name为null的人的信息。

   select * from t_people where Name = null

 

    结果如何? 什么都没有!!!! 

         因为 = 表比较的意思,在进行比较的时候必须要提供一个定值,null是不确定的,没法比较。

   select * from t_people where Name is null

 

    这样做就可以查到了, 因为我们检索的是 Name的值是null

3.  数据库中的null 和 C#中的null

   我们需要将值为null的数据插入到数据库中

 value = null;
 new SqlParameter("@Name", value)

    如果这样写到的话,SqlParameter构造函数的第2个参数如果为null,编译器报错:未提供参数。看来我们不能直接将C#中的null插入到数据库中。C#中用来表示数据库中的null的值是—— DBNull.Value 。注意,我们只能用object类型的变量来接收这个值。怎么说object是所有类型的老祖宗呢!

 object value = DBNull;
 new SqlParameter("@Name", value)

 

 

 

4.   C#中可以为null的类型

    像 string这样的类型是可以为null的,而一般的类型,如int、bool、double、DateTime等,都是不可以为null的。

    在数据库中,一个人的年龄有可能是null,而int类型又不能接收null。赋个 0 行不行?大街上遇到一个路人,我们知道他的年龄吗?不知道!!!!而刚出生的婴儿的年龄就是0,路人的年龄和婴儿的年龄显然不相等,怎么可以???

    C#中可以让int等类型接收null值的方法: int? ,这个 ? 代表不确定的意思。

    注意在从数据库中获取数据时,注意类型转换!!不能写 (int)了,而是(int?),否则编译器又要报错了!!!

 // Age是从数据库中读取出来的值,有可能是null
 int? age = (int?)Age;

 

 

5.   null 与 DBNull的转换

 /// <summary>
 /// 如果value的值为null,则返回DBNull,否则返回value
 /// </summary>
 /// <param name="value"></param>
 /// <returns></returns>
 public static object ToDBNull(object value) 
 {
  if (value == null)
  {
  return DBNull.Value;
  }
  else
  {
  return value;
  }
 }

 /// <summary>
 /// 如果value的值为DBNull,则返回null,否则返回value
 /// </summary>
 /// <param name="value"></param>
 /// <returns></returns>
 public static object FromDBNull(object value) 
 {
  if (value == DBNull.Value)
  {
  return null;
  }
  else
  {
  return value;
  }
 }

 

 

    

 

 

 

 

 

 

 

数据库中的null问题

标签:

热心网友 时间:2022-04-29 21:46

允许空值的意思。

允许空值和有默认值并不冲突,插入数据时如果指定使用默认值,它会使用这个默认值0,如果插入数据时不指定这一列,它会保持空值。

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

扩展资料:

使用NULL可以区分“没有输入数据”和“输入空数据”, 差异在于:

NULL的长度就是NULL,空字符串的长度为0。

一串NULL数据比空字符串优先排序。

COUNT(message)会将空字符串计数进去,但是不会将NULL数据们计入。

可以使用绑定变量搜索某个空字符串,但是不可以这样搜索NULL。

在SQL中,NULL值与任何其它值的比较(即使是NULL)永远不会为“真”。包含NULL的表达式总是会导出NULL值,除非在关于操作符的文档中以及表达式的函数中作了其他规定。

热心网友 时间:2022-04-29 23:04

允许空值的意思
允许空值和有默认值并不冲突啊,你插入数据时如果指定使用默认值,它会使用这个默认值0,如果插入数据时不指定这一列,它会保持空值的。

热心网友 时间:2022-04-30 00:39

null不是对象,不是个值,是空的,而0是一个值,这个值为0
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
如何解决小米电视开机死机? 涂色部分所占的分数是五分之一.××(判断对错) 18个⭐,平均分成5份。每份是多少,还剩几份。 18个⭐,平均分成5份。每份是多少,还剩几份? 有6个五角星,平均分成2份,1份是五角星总数的什么,有什么个怎么解答 捷信现金贷款不还有哪些后果?有人知道吗? 怎样在淘宝上开网店具体步骤和流程是什么 淘宝怎么开网店 开网店详细步骤介绍 跟女朋友是异地恋,我因为实在太忙了没办法去找她,但是她又不愿意来... ...女朋友异地恋已经3个月了,她有时候对我冷淡,我不知道该怎么办... mysql 怎么把 null 替换成 0 呢? 求市级庆祝国庆活动方案 睡衣店国庆活动方案怎么写 班上庆庆国庆活动方案 求,有关国庆和校庆为主题的团日活动策划书. 谁能给我一个国庆的大学生活动方案。急。有创意的点子也行,还要有适合国庆玩的游戏 学校庆国庆讲述共和国故事汇分享活动实施方案 国庆活动方案 学校开展庆祝中华人民共和国成立72周年,社会氛围营造展示活动实施方案_百度问一问 为&quot;公益爱心活动&quot;起一个好听的名称 什么软件可以给视频加水印 帮忙取个活动的好名字 物业搞活动取什么名字高端,1到12月,谢谢大家 班级办的活动,希望给活动取个好一点的名字 想给活动起个吸引人的名字。 狸窝全能视频转换器 给视频加图片水印 图片水印按住什么键等比例缩放 为春节活动的四个主题取四个比较好听的名字,注意不是给人起名字 诗词活动好听的名称 好听的活动名字 好听的名字--给我们的活动命名 mysql怎么把null替换成0? Mysql中查询一个表,把结果中的NULL替换成0,请写出sql语句 mysql里面默认null代表什么意思,设置默认为0又是什么意思呢 mysql IFNULL count数据为null 显示为0失效,sql语句怎么改? mysql 如何把NULL转换成0 如何在查询语句中把空值(null),输出为0? 需要mysql内select遇空字段则默认显示0 让Mysql的count()返回值为空时显示为0 查询sql 语句,为null转换为0怎么做 谁知道建行信用卡在网上怎么样查进度?? mysql 如何让null更新成0 怎么查询建行信用卡办理进度? mysql 如果查询的值为空,让某个数据赋值为0 当MySQL 返回的查询结果为空(即零行)的时候 结果表示0 查询的时候如果某个字段为NULL 让他默认为0的SQL语句怎么写 建行的信用卡进度怎么查啊? 如何把数据库中NULL值设置为0 新办的建行信用卡怎么查出来? 如何利用MySQL数据库判断NULL结果为1 古早味蛋糕烤完没脱模会怎么样?