sql server null值需要注意的地方

1、null与任何运算符运算后都为null

普通的值一般都可能进行运算符操作,但例如:ID列为int,所以可以这样:ID=ID+1等,但如果一列的值为null,null+1=null

例如

update testNull
set b=b+1
where b is null

查询后发现b的值没有变化,仍然为null.

2、任何值与null比较时都会返回false

普通的值可以进行"="操作,例如条件中一般都会这样出现:sUserName=‘张三‘,如果sUserName的值为null,要想找出所有名字为null的记录时,不能这样用:sUserName=null,因为null不是一个具体的值,任何值与它比较时都会返回false。此时可借用is null 或者是is not null.

例如

select * from testNull where a=null   --返回空结果集

select * from testNull where b is null   --返回结果集 2 2 NULL

说明null是不能用"="来比较,可用is null来替换

3、当统计的记录中的包含有null值时,它会忽略null值

例如在用统计函数count时会不同,例如count(ID):统计记录数.当统计的记录中的包含有null值时,它会忽略null值.

4、对于in 的影响不同

示例查询:查询testNull表中b的值包含在null中的记录.

select * from testNull where b in(null)  --没有任何记录

in在查询时会忽略null的记录,查询的时候可用is not null来查询

5、排序时顺序有不同

当使用ORDER BY时,首先呈现NULL值。如果你用DESC以降序排序,NULL值最后显示。

参考资料:  sql server 如何判断 null   http://www.studyofnet.com/news/1056.html

时间: 2024-12-21 02:32:01

sql server null值需要注意的地方的相关文章

SQL 中 Null 值使用时需要注意的地方

一.Null不支持大小/相等判断 1.下面的2个查询,不管表 users 中有多少条记录,返回的记录都是0行 select * from  users where deleted_at = null; select * from  users where deleted_at != null; 用常规的比较操作符(normal conditional operators)来将 null 与其他值比较是没有意义的. Null 也不等于 Null 2.将某个值与 null 进行比较的正确方法是使用

怎样获取Windows平台下SQL server性能计数器值

转载自工作伙伴Garrett, Helen "SQL Server Performance Counter captures" Capturing Windows Performance Counters for SQL Server SQL Server Performance Counters The following counters are the recommended list to capture baseline performance metrics for SQL

sql处理null值

IFNULL(expr1,expr2) 如果expr1不是NULL,IFNULL()返回expr1,否则它返回expr2.IFNULL()返回一个数字或字符串值. select (case when a.checktype=0 then 'GO' else 'back' end ) checktype, (case when a.checkcotunt=0 then 'left' end ) checktype from checkinfo a

SQL 中 null 值的处理方式

1.查询时,如果列中的值为 null,如何为列赋默认值. SELECT ISNULL([Column],'默认值') AS [Column] FROM [DataTable]

SQL server根据值搜表名和字段

DECLARE @what varchar(800) SET @what='lll' --要搜索的字符串 DECLARE @sql varchar(8000) DECLARE TableCursor CURSOR LOCAL FOR SELECT sql='IF EXISTS ( SELECT 1 FROM ['+o.name+'] WHERE ['+c.name+'] LIKE ''%'[email protected]+'%'' ) PRINT ''所在的表及字段:['+o.name+'].

SQL NULL 值【摘自W3C】

SQL NULL 值 本章讲解 IS NULL 和 IS NOT NULL 操作符. NULL 值是遗漏的未知数据.默认地,表的列可以存放 NULL 值. 如果表中的某个列是可选的,那么我们可以在不向该列添加值的情况下插入新记录或更新已有的记录.这意味着该字段将以 NULL 值保存. NULL 值的处理方式与其他值不同. NULL 用作未知的或不适用的值的占位符. 注释:无法比较 NULL 和 0:它们是不等价的. SQL 的 NULL 值处理 请看下面的 "Persons" 表: I

SQL NULL 值

SQL NULL 值 NULL 值代表遗漏的未知数据. 默认地,表的列可以存放 NULL 值. 本章讲解 IS NULL 和 IS NOT NULL 操作符. SQL NULL 值 如果表中的某个列是可选的,那么我们可以在不向该列添加值的情况下插入新记录或更新已有的记录.这意味着该字段将以 NULL 值保存. NULL 值的处理方式与其他值不同. NULL 用作未知的或不适用的值的占位符. 注释:无法比较 NULL 和 0:它们是不等价的. SQL 的 NULL 值处理 请看下面的 "Perso

Spark SQL中Dataframe join操作含null值的列

当在Spark SQL中对两个Dataframe使用join时,当作为连接的字段的值含有null值.由于null表示的含义是未知,既不知道有没有,在SQL中null值与任何其他值的比较(即使是null)永远不会为真.故在进行连接操作时null == null不为True,所以结果中不会出现该条记录,即左侧表格的这条记录对应右侧的值均为null.示例如下: table_a: date serverId lvSection 2018-03-04 1 10 2018-03-05 null 9 2018

SQL-W3School-高级:SQL NULL 值

ylbtech-SQL-W3School-高级:SQL NULL 值 1.返回顶部 1. NULL 值是遗漏的未知数据. 默认地,表的列可以存放 NULL 值. 本章讲解 IS NULL 和 IS NOT NULL 操作符. SQL NULL 值 如果表中的某个列是可选的,那么我们可以在不向该列添加值的情况下插入新记录或更新已有的记录.这意味着该字段将以 NULL 值保存. NULL 值的处理方式与其他值不同. NULL 用作未知的或不适用的值的占位符. 注释:无法比较 NULL 和 0:它们是