数据库数据类型中,NULL、空格、零、无内容,有什么不同?如果是相同数据类型(char),NULL、空格、零又有什么不同?

如题?

作者: lujun2138   发布时间: 2011-05-14

建议看书,这些是基础问题,解释起来就和解释 两点之间直线 距离最短一样 很难解释。
引用
Null 值指出 Variant 不包含有效数据。Null 与 Empty 不同,后者指出变量尚未初始化。Null 与长度为零的字符串 (““) 也不同,长度为零的字符串指的是空串。

重要 使用 IsNull 函数是为了确定表达式是否包含 Null 值的。在某些情况下,希望表达式取值为 True,比如希望 If Var = Null 和 If Var <> Null 取值为 True,而它们总取值为 False。这是因为任何包含 Null 的表达式本身就是 Null,所以为 False。

作者: ACMAIN_CHM   发布时间: 2011-05-14

从一段SQL,LZ应该能有所发现
SQL code
select 
 ASCII(NULL) as '空值',
 ASCII(' ') as '空格' ,
 ASCII('')  as '无内容',
 ASCII('0')  as ''
from dual; 


返回结果
空值 空格 无内容 零
32 0 48
这段SQL查询这四者对应的ASCII

作者: yinan9   发布时间: 2011-05-14

第11章:列类型
目录
11.1. 列类型概述
11.1.1. 数值类型概述
11.1.2. 日期和时间类型概述
11.1.3. 字符串类型概述
11.2. 数值类型
11.3. 日期和时间类型
11.3.1. DATETIME、DATE和TIMESTAMP类型
11.3.2. TIME类型
11.3.3. YEAR类型
11.3.4. Y2K事宜和日期类型
11.4. String类型
11.4.1. CHAR和VARCHAR类型
11.4.2. BINARY和VARBINARY类型
11.4.3. BLOB和TEXT类型
11.4.4. ENUM类型
11.4.5. SET类型
11.5. 列类型存储需求
11.6. 选择正确的列类型
11.7. 使用来自其他数据库引擎的列类型
MySQL支持多种列类型:数值类型、日期/时间类型和字符串(字符)类型。本章首先对这些列类型进行了概述,然后更加详细地描述了各种列的类型,以及

作者: rucypli   发布时间: 2011-05-14

引用 2 楼 yinan9 的回复:
从一段SQL,LZ应该能有所发现

SQL code
select
ASCII(NULL) as '空值',
ASCII(' ') as '空格' ,
ASCII('') as '无内容',
ASCII('0') as '零'
from dual;


返回结果
空值 空格 无内容 零
32 0 48
这段SQL查询这四者对应的ASCII

作者: rucypli   发布时间: 2011-05-14

引用 2 楼 yinan9 的回复:
返回结果
空值 空格 无内容 零
32 0 48
这段SQL查询这四者对应的ASCII
这里排版有点问题,可以引起歧义
楼主执行看一下结果吧。

作者: yinan9   发布时间: 2011-05-14