NULL,表示不明确、未知的列值
测试表:testnull(id varchar(32))
数据库:Sybase ASA11.0
行数据(''), (NULL)
数据库选项ansinull为true(也是ASA数据库的默认选项)时,
select * from testnull where id = null
select * from testnull where id != null
结果均为空
select * from testnull where idis null
结果为(NULL)
select * from testnull where idis notnull
结果为('')
当ansinull为false时,
select * from testnull where id = null
结果为(NULL)
select * from testnull where id != null
结果为('')
从上述结果来看,NULL值确实是一个有争议的东西,但是,毫无疑问,ansinull对NULL的定义是精确的,即不能对NULL值进行等于或不等判断,无论是等还是不等,其结果都为false.
而统一的is null, is not null的含义则显然是明确的,NULL is null恒为真,非NULL is null恒为假。
再看看在Oracle中的结果:
SQL> select * from testnull where id is null;
ID
--------------------------------
SQL> select * from testnull where id is not null;
no rows selected
SQL> select * from testnull where id=null;
no rows selected
SQL> select * from testnull where id != null;
no rows selected
空字符串''在oracle中被示为NULL值了。比较怪异。
Oracle这种现象的重现过程如下:
SQL> create table testnull(id varchar(32));
Table created.
SQL> insert into testnull values('');
1 row created.
SQL> select * from testnull where id is null;
ID
----------------------------------------------------------------
SQL> select count(*) from testnull where id is null;
COUNT(*)
----------
1
SQL>
分享到:
相关推荐
动态SQL语句.txt 动态语句.txt 区分大小写.txt 去掉重复的列名.txt 取n到m条记录.txt 合并字符串.txt 多列的行转列.sql 多行补充.sql 多表对多表进行统计.txt 大小写转换.txt 子查寻和内联查寻.txt 学生名次.txt ...
10、说明:几个简单的基本的sql语句 选择:select * from table1 where 范围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where 范围 更新:update table1 set field1...
sql 语句中的 NULL值 ,需要的朋友可以看看。
/*SQL Server数据库字典(查询所有的表结构)*/ SELECT TOP 100 PERCENT --a.id, CASE WHEN a.colorder = 1 THEN d.name ELSE '' END AS 表名, CASE WHEN a.colorder = 1 THEN isnull(f.value, '') ELSE '' END AS ...
全网最全的SQL 讲解,带实例描述 目录概要: 1. SQL 简介 3 2. SQL 语法 4 3. SQL SELECT 语句 5 4. SQL WHERE 子句 7 5. SQL AND & OR 运算符 8 6. SQL ORDER BY 子句 9 ...25. SQL NOT NULL 约束 31 ……
NULL 博文链接:https://huiminchen.iteye.com/blog/1097332
优化sql语句执行效率几点需要注意的事项
例如下面语句查询年龄大于20的数据: SELECT * FROM usertable WHERE age>20 WHERE子句可包括各种条件运算符: 比较运算符(大小比较):>、>=、=、<、、、!>、!< 范围运算符(表达式值是否在指定的范围):BETWEEN…AND...
NULL 博文链接:https://benworld.iteye.com/blog/1841031
null关系型数据库及SQL语句,SQLSERVER数据库设计.doc
例 1 对于表的教学管理数据库中的表 STUDENTS ,可以定义如下: CREATE TABLE STUDENTS (SNO NUMERIC (6, 0) NOT NULL SNAME CHAR (8) NOT NULL AGE NUMERIC(3,0) SEX CHAR(2) BPLACE CHAR(20) PRIMARY KEY...
LINQ to SQL语句(14)之Null语义和DateTime
NULL 博文链接:https://huangtut.iteye.com/blog/285494
本资源基本涵盖了sql中的经典用法 3、说明:备份sql server --- 创建 备份数据的 device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat' --- 开始 备份 BACKUP DATABASE ...
其次,大家来看一些不错的sql语句 1、说明:复制表(只复制结构,源表名:a 新表名:b) (Access可用) 法一:select * into b from a where 1<>1 法二:select top 0 * into b from a 2、说明:拷贝表(拷贝...
LINQ to SQL语句(14)之Null语义和DateTime LINQ to SQL语句(15)之String LINQ to SQL语句(16)之对象标识 LINQ to SQL语句(17)之对象加载 LINQ to SQL语句(18)之运算符转换 LINQ to SQL语句(19)之ADO.NET与LINQ to ...
create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col...
数据库SQL语句讲解全文共112页,当前为第1页。 回顾 添加各种约束一般在什么时候完成? 可以在创建表的时候添加 也可以在表创建完成以后添加。 SQL Server中约束包括哪些? 空值(NULL)约束 主键(PRIMARY KEY)...
SQL语句学习手册实例SQL语句学习手册实例
0-否 1-是】,在sku中仍然可以调整', primary key (attr_id) ); alter table pms_attr comment '商品属性'; /*==============================================================*/ /* Table: pms_attr_attrgroup_...