sql server 2008 NULL值】的更多相关文章

SQL支持用NULL符号来表示缺少的值,它使用的是三值谓词逻辑,计算结果可是以TURE.FALSE或UNKNOWN. SQL中不同语言元素处理NULL和UNKNOWN的方式也有所不同,如果逻辑表达式只涉及已经存在的值,那么最终的计算结果只有二种,要么TRUE要么FALSE.但是当逻辑表达式涉及缺少的值时,其计算结果就是UNKNOWN.如,当谓词salary>0:当salary等于1000时,表达式结果为TRUE,查询过滤条件(WHERE和HAVING子句)能够让表达式计算结果为TRUE的那些行或…
/** * 通过 FOR XML PATH 语句,可以将字段的值进行合并. **/ CREATE TABLE tb_child ( name ), hobby ) ) go INSERT INTO tb_child VALUES ('tim', '爬山') INSERT INTO tb_child VALUES ('tim', '游泳') INSERT INTO tb_child VALUES ('tim', '自行存') INSERT INTO tb_child VALUES ('joe',…
在某些情况下需要对某条记录添加上时间戳,比如用户注册,需要记录用户的注册时间,在SQL SERVER 2008中可以通过 1. 添加新字段 2. 数据类型设置为smalldatetime 3. 默认值设置为getdate() sql语句: CREATE TABLE tb_products ( id INT IDENTITY(1, 1) PRIMARY KEY, productNum VARCHAR(50) NOT NULL UNIQUE, productName VARCHAR(50) NOT…
SQL Server 2008除了DateTime和SmallDateTime之外,又新增了四种时间类型,分别为:date,time,datetime2和datetimeoffset. 各时间类型范围.精度一览表: 数据类型 时间范围 精度 datetime 1753-01-01到9999-12-31 00:00:00 到 23:59:59.997 3.33毫秒 smalldatetime 1900-01-01 到 2079-06-06 00:00:00 到 23:59:59 分钟 date 0…
-- SQL Server 2008 SELECT 表名 = d.name, 表说明 = case when a.colorder=1 then isnull(f.value,'') else '' end, 字段序号 = a.colorder, 字段名 = a.name, 标识 = case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '√'else '' end, 主键 = case when exists(SELECT 1 F…
来源于:http://www.cnblogs.com/hiizsk/ 由SQL SERVER 2008向ORACLE 11G迁移过程记录之一-表 使用Oracle Sql Developer将SQL SERVER 2008数据库移植到Oracle 11g(一) 使用Oracle Sql Developer将SQL SERVER 2008数据库移植到Oracle 11g(二) 使用Oracle Sql Developer将SQL SERVER 2008数据库移植到Oracle 11g(三) 使用O…
数据库中常用的概念 Sql本身是一个服务器,没有界面,Management Studio  只是一个SQL Server管理工具而已,不是服务器. Sql server 在管理工具下面的服务SQL Server (MSSQLSERVER) 主键:就是唯一定位的一条数据的列.不会有重复的列才能当主键, 一个表可以没有主键,但是会非常难以处理,因此建议都要设主键. 两种主键: 业务主键:使用有业务意义的字段做主键,如身份证号.职工编号. 逻辑主键:使用任何没有意义的字段做主键,完全给程序看的.推荐用…
在SQL Server 2008中,新的FILESTREAM(文件流)特性和varbinary列配合,你可以在服务器的文件系统上存储真实的数据,但可以在数据库上下文内管理和访问,这个特性让SQL Server不仅可以维护好数据库内记录的完整性,也能够维护好数据库记录和外部文件之间的完整性.因为这个特性是在现有的varbinary(max)数据类型之上实现的,开发人员可以轻易地用上这个特性,不用对应用程序的架构进行改动. FILESTREAM使SQL Server数据库引擎和NTFS文件系统成为了…
==================================声明================================== 本文原创,转载在正文中显要的注明作者和出处,并保证文章的完整性. 未经作者同意请勿修改(包括本声明),保留法律追究的权利. 未经作者同意请勿用于出版.印刷或学术引用. 本文不定期修正完善,为保证内容正确,建议移步原文处阅读. 本文链接:http://www.cnblogs.com/wlsandwho/p/4305767.html =============…
一.数据库完整性概述   1.数据库的完整性:   ①数据库的完整性是指数据的正确性和相容性 ②数据库完整性是防止不合语义或不正确的数据进入数据库 ③完整性体现了是否真实地反映现实世界   例:  学生的年龄必须是整数,取值范围为14-29: 学生的性别只能是男或女: 学生的学号一定是唯一的: 学生所在的系必须是学校开设的系:     2.DBMS维护数据库完整性的机制:   ①提供定义完整性约束条件的机制 DBMS应提供定义数据库完整性约束条件,并把它们存入数据库中. ②提供完整性检查的方法…
--SQL SERVER 2008 函数大全 /* author:TracyLee csdncount:Travylee */ /* 一.字符串函数: 1.ascii(字符串表达式)    返回字符串中最右侧字符的ASCII码    例:select ascii('abc')        return:97 2.char(字符串表达式)    把ASCII码转换成对应的字符    例:select char(97)        return:a 3.charindex(字符串表达式1,字符串…
Chart5 create database MovieRental; select name, SUSER_SNAME(sid) as [login] from sys.database_principals where name='dbo'; alter authorization on Database::MovieRental to easy5; /* 架构(schema) */ create SCHEMA Inventory; GO create SCHEMA People; Go c…
这也是SQL Server 2008的一个重要新增特性.主要解决的问题是拥有层次关系的表格.例如我们日常生活中用到最多的组织结构图.我们一般会用一个Region表保存区域数据,而每个区域则又可能会有相应的上级.以前要得到某个区域的所有上级,或者所有下级,通常所采取的方法都是递归.SQL Server 2005开始支持的CTE从一定程序上方便了该工作的实现. 但SQL 2008的hierarchyid让这个工作更加简化和直接.而该类型其实是一个CLR自定义数据类型. create table Re…
摘自SQL Server 2008帮助 平面空间数据类型 geometry 是作为 SQL Server 中的公共语言进行时 (CLR) 数据类型实现的.此类型表示欧几里得(平面)坐标系中的数据. 注册 geometry 类型 geometry 类型已进行预定义,并可在每个数据库中使用.您可以创建 geometry 类型的表列并对 geometry 数据进行操作,就像使用其他 CLR 类型一样. 示例 以下两个示例显示了如何添加和查询几何图形数据.第一个示例创建了带有标识列和 geometry…
原文:SQL Server 2008空间数据应用系列四:基础空间对象与函数应用 友情提示,您阅读本篇博文的先决条件如下: 1.本文示例基于Microsoft SQL Server 2008 R2调测. 2.具备 Transact-SQL 编程经验和使用 SQL Server Management Studio 的经验. 3.熟悉或了解Microsoft SQL Server 2008中的空间数据类型. 4.具备相应(比如OGC)的GIS专业理论知识. 5.其他相关知识. SQL Server 2…
数据类型类别 SQL Server 中的数据类型归纳为下列类别: 数字类型 1.精确数字 2.近似数字 3.日期和时间 字符串类型 4.非Unicode字符串 4.Unicode字符串 5.二进制字符串 6.其他数据类型 7.CLR 在 SQL Server 中,根据其存储特征,某些数据类型被指定为属于下列各组: 大值数据类型:varchar(max).nvarchar(max) 和 varbinary(max) 大型对象数据类型:text.ntext.image.varchar(max).nv…
原文:SQL Server 2008性能故障排查(四)--TempDB 接着上一章:I/O TempDB: TempDB是一个全局数据库,存储内部和用户对象还有零食表.对象.在SQLServer操作过程中产生的存储过程等数据.在一个SQLServer实例中,只有一个TempDB.所以容易成为性能和磁盘空间瓶颈.TempDB可能因为空间可用程度和过量的DDL和DML操作而变得超负荷.这可能导致不相关的应用运行缓慢甚至失败. 常见的TempDB问题如下: l  TempDB空间超支. l  因为Te…
原文:SQL Server 2008性能故障排查(三)--I/O 接着上一章:CPU瓶颈 I/O瓶颈(I/O Bottlenecks): SQLServer的性能严重依赖I/O子系统.除非你的数据库完全加载到物理内存中,否则SQLServer会不断地把数据库文件从缓存池中搬进搬出,这会引起大量的I/O传输.同样地,日志记录在事务被声明为已提交前必须写入磁盘.最后,SQLServer基于许多原因使用tempdb,比如存储临时结果.排序和保持行版本.所以一个好的I/O子系统是SQLServer性能关…
原文:SQL Server 2008性能故障排查(二)--CPU 承接上一篇:SQL Server 2008性能故障排查(一)--概论 说明一下,CSDN的博客编辑非常不人性化,我在word里面都排好了版,贴上来就乱得不成样了.建议CSDN改进这部分.也请大家关注内容不要关注排版.同时在翻译的过程中本人也整理了一次思路,所以还似乎非常愿意翻译,虽然有点自娱自乐,但是分享给大家也是件好事 CPU 瓶颈: CPU瓶颈可能因为某个负载所需的硬件资源不足而引起.但是过多的CPU使用通常可以通过查询优化(…
原文:配置SQL Server 2008的资源调控器实现负载均衡 转自:http://www.ithov.com/server/93267.shtml 1.为什么引入"资源调控器"? 在SQL Server 2008之前,数据库引擎曾尝试为所有并发用户提供均衡的性能,这使我们几乎无法控制分配给用户或工作负载的优先级,而且随着并发登录的增加会雪上加霜."资源调控器"有助于防止性能问题,并识别正在使用的应用程序."资源调控器"可以控制分配给会话的CP…
原文:SQL Server 2008 R2 性能计数器详细列表(三) SQL Server,Deprecated Features 对象: 监视指定为不推荐使用的功能: SQL Server Deprecated Features 计数器实例 说明 "#"和"##"作为临时表和存储过程的名称 遇到不包含 # 以外的任何字符的标识符.请至少使用一个其他字符.每次编译时发生. "::"函数调用语法 表值函数遇到 :: 函数调用语法.请替换为 SELE…
原文:SQL点滴15-在SQL Server 2008中调用C#程序 T-SQL的在执行普通的查询的时候是很高效的,但是在执行循环,判断这样的语句的时候效率就不那么的高了.这时可以借助CLR了,我们可以在SQL Server 2008中扩展C#程序来完成循环等过程式的查询,或者其他SQL不便实现的功能.这个随笔中将介绍在SQL Server中扩展C#程序实现正则表达式的替换功能. 新建一个类库程序命名为Regex,打开Visual Studio 2008,点击File,点击New,点击Proje…
原文:深入浅出SQL Server 2008 分区函数和分区表 当我们数据量比较大的时候,我们需要将大型表拆分为多个较小的表,则只访问部门数据的查询就可以更快的运行,基本原理就是,因为要扫描的数据变的更小.维护任务(例如,重新生成索引或备份表)也可以更快的运行. 我们可以再不通过将表物理放置在多个磁盘驱动器上来拆分表的情况下获取分区.如果将某个表放置在一个物理驱动器上,将相关表放置在另一个驱动器上,则可以提高查询性能,因为当运行涉及表间连接的查询时,多个磁盘头同时读取数据.可以使用SQL Ser…
原文:在SQL Server 2008中调用.net,dll T-SQL的在执行普通的查询的时候是很高效的,但是在执行循环,判断这样的语句的时候效率就不那么的高了.这时可以借助CLR了,我们可以在SQL Server 2008中扩展C#程序来完成循环等过程式的查询,或者其他SQL不便实现的功能.这个随笔中将介绍在SQL Server中扩展C#程序实现正则表达式的替换功能. 新建一个类库程序命名为Regex,打开Visual Studio 2008,点击File,点击New,点击Project,在…
以往我们在关系数据库中建立树状结构的时候,通常使用ID+ParentID来实现两条纪录间的父子关系.但这种方式只能标示其相对位置.解决这类问题在SqlServer2005出现之前通常是采用游标来操作,但熟悉数据库内部机制的人都知道使用游标带来的性能问题和其他问题是比较严重的. 到了SqlServer2005下,可以选择用CTE来做递归查询,这种方式查询比较简练,但由于数据库内部是采用递归查询的方式,其效率依旧不高:为了能够实现既简练又高效的查询,通常的做法是增加冗余字段,比如增加一个"Path&…
SQL Server 2008中的CDC(Change Data Capture)功能使用及释疑 关键词:CDC   原文:http://www.cnblogs.com/chenxizhang/archive/2011/08/10/2133408.html SQL Server 2008中的CDC(Change Data Capture)功能使用及释疑 CDC(Change Data Capture:变更数据捕获)这个功能是SQL Server 2008企业版的功能,它提供了一种新的机制,对表格…
[摘要]本文详细介绍SQL Server 2008 分区函数和分区表,包括查询某个分区.归档数据.添加分区.删除分区等内容. 当我们数据量比较大的时候,我们需要将大型表拆分为多个较小的表,则只访问部门数据的查询就可以更快的运行,基本原理就是,因为要扫描的数据变的更小.维护任务(例如,重新生成索引或备份表)也可以更快的运行. 我们可以再不通过将表物理放置在多个磁盘驱动器上来拆分表的情况下获取分区.如果将某个表放置在一个物理驱动器上,将相关表放置在另一个驱动器上,则可以提高查询性能,因为当运行涉及表…
目录 1.事务 1.1.事务的ACID属性 1.2.事务分类 1.2.1.系统提供的事务 1.2.2.用户自定义的事务 1.3.管理事务 1.3.1.SAVE TRANSACTION 1.3.2.@@TRANCOUNT变量和@@ERROR变量 1.4.SQL Server本地事务支持 1.4.1.自动提交事务模式 1.4.2.显式事务模式 1.4.3.隐式事务模式 1.4.4.批范围的事务 1.5.隔离级别 1.5.1.四种隔离级别 1.5.2.设置事务隔离级别 1.6.分布式事务 1.7.高级…
目录 1.触发器 1.1.DDL触发器 1.2.DML触发器 1.3.创建触发器 1.3.1.创建DML触发器 1.3.2.创建DDL触发器 1.3.3.嵌套触发器 1.3.4.递归触发器 1.4.管理触发器 1.触发器 触发器是一种特殊的存储过程,与表紧密关联. 1.1.DDL触发器 当服务器或数据库中发生数据定义语言(DDL)事件时将被调用.如CREATE,ALTER,DROP等操作.如果要执行以下操作,可以使用DDL触发器: 防止对数据库架构进行更改 希望数据库中发生某些情况以响应数据库架…
1 背景: 随着公司业务的成长,数据量也随之的不断增长.随之而来的问题是在做ETL的时候,时间花费也越来越长.为了节省时间开销,我们只想要更新最新的数据,不想要把公司历年所有的数据都进行处理.这种情况就被称为变更数据捕获(Change Data Capture,又名CDC).在SQLServer2008之前,对数据变更的捕获通常使用触发器把DML操作中的INSERT/UPDATE/DELETE数据记录下来,但是触发器的维护比较困难:时间戳严重依赖于数据库的设计,而且必须在业务代码中对时间字段进行…