解读在SQL Server中处理空值时涉及的三个问题_Mssql数据库教程
推荐:如何使用 SQL Server 数据库嵌套子查询很多SQL Server程序员对子查询(subqueries)的使用感到困惑,尤其对于嵌套子查询(即子查询中包含一个子查询)。现在,就让我们追本溯源地探究这个问题。 有两种子查询类型:标准和相关。标准子查询执行一次,结果反馈给父查询。相关子查询每行执行一次,由
这篇文章主要介绍了在SQL Server中处理空值时所涉及的3个问题:计数、使用空表值以及外键处理。
用COUNT(*)处理空值
大多数集合函数都能在计算时消除空值;COUNT函数则属于例外。对包含空值的一个列使用COUNT函数,空值会从计算中消除。但假如COUNT函数使用一个星号,它就计算所有行,而不管是否存在空值。
如果希望COUNT函数对给定列的所有行(包括空值)进行计数,请使用ISNULL函数。ISNULL函数会将空值替换成有效的值。
事实上,对集合函数来说,如果空值可能导致错误结果,ISNULL函数就非常有用。记住在使用一个星号时,COUNT函数会对所有行进行计算。下例演示了空值在AVG和COUNT集合函数中的影响:
以下为引用的内容: SET NOCOUNT ON GO WIsNullFnctnCol1 UsingAsterisk ---------------- ------------- -------------- ------------ 15 11 3 4 4 |
恰当使用空表值
SQL Server可能出现一种特殊情况:在引用父表的一个表中,因为不允许空值,所以“声明引用完整性”(DRI)可能不会得到强制。即使父表不包含空值,在子表引用了父表主键约束或惟一约束的列中,也可能包含空值。
假如来自父表的值目前未知,就不会有任何问题。例如,父表可能是一个地址表,而子表可能包含联系信息。由于许多原因,可能暂时不知道要传给父表的联系地址。这是一种基于时间的问题,空值在其中或许是合适的。
如下例所示,我们创建父表,并在其中插入两个值。
以下为引用的内容:
GOCREATE TABLE Parent(pkey1 INT IDENTITY NOT NULL CONSTRAINT pkParent PRIMARY KEY,col1 INT NULL)GOINSERT Parent (col1) VALUES (284)GOINSERT Parent (col1) VALUES (326)GO |
分享:如何在SQL Server中去除表中不可见字符以下的实例为去除指定表中数据类型是VARCHAR,CHAR,NVARCHAR的字段值中的不可见字符。 注释:此处只去掉前后的不可见字符,不包括中间的字符,而且没有区分中文。 在使用前需要指定对应要修改的表名,并且需要在对应数据库下执行; SET NOCOUNT ON DECLARE @T
- sql 语句练习与答案
- 深入C++ string.find()函数的用法总结
- SQL Server中删除重复数据的几个方法
- sql删除重复数据的详细方法
- SQL SERVER 2000安装教程图文详解
- 使用sql server management studio 2008 无法查看数据库,提示 无法为该请求检索数据 错误916解决方法
- SQLServer日志清空语句(sql2000,sql2005,sql2008)
- Sql Server 2008完全卸载方法(其他版本类似)
- sql server 2008 不允许保存更改,您所做的更改要求删除并重新创建以下表
- SQL Server 2008 清空删除日志文件(瞬间日志变几M)
- Win7系统安装MySQL5.5.21图解教程
- 将DataTable作为存储过程参数的用法实例详解
Mssql数据库教程Rss订阅编程教程搜索
Mssql数据库教程推荐
猜你也喜欢看这些
- 利用Xtrabackup工具备份及恢复(MySQL DBA的必备工具)
- MySQL 5.6 如何更改安全的处理密码探讨
- 解决bash: mysql: command not found 的方法
- 在SQL Server的try...catch语句中获取错误消息代码的的语句
- SQL分组排序去重复的小实例
- MYSQL SET类型字段的SQL操作知识介绍
- 解析mysql中:单表distinct、多表group by查询去除重复记录
- 网页模板MySQL出现Can't create/write to file 'C:\Windows\TEMP\#sql_990_0.MYI解决办法
- MySQL:数据库知识点
- SQL提示Login failed for user#039;sa#039;错误的解决方案
- 相关链接:
- 教程说明:
Mssql数据库教程-解读在SQL Server中处理空值时涉及的三个问题。