随笔分类 -  sql server

摘要:验证身份证函数/*---------------------------校验身份证号是否有效 成功返回1 失败返回0---------------------------*/CREATE FUNCTION [dbo].[fn_IDCardChk] ( @IDCard VARCHAR(18) )RETURNS BITAS BEGIN IF LEN(@IDCard) 15 ... 阅读全文
posted @ 2018-12-12 14:42 学无止境Time 阅读(440) 评论(0) 推荐(1)
摘要:概念介绍开发人员喜欢在SQL脚本中使用WITH(NOLOCK), WITH(NOLOCK)其实是表提示(table_hint)中的一种。它等同于 READUNCOMMITTED 。 具体的功能作用如下所示(摘自MSDN): 1: 指定允许脏读。不发布共享锁来阻止其他事务修改当前事务读取的数据,其他事务设置的排他锁不会阻碍当前事务读取锁定数据。允许脏读可能产生较多的并发操作,但其代价是读取以后会... 阅读全文
posted @ 2018-10-20 21:18 学无止境Time 阅读(1852) 评论(0) 推荐(2)
摘要:为什么需要锁在任何多用户的数据库中,必须有一套用于数据修改的一致的规则,当两个不同的进程试图同时修改同一份数据时,数据库管理系统(DBMS)负责解决它们之间潜在的冲突。任何关系数据库必须支持事务的ACID属性,所以在开始了解锁之前,首先简单了解一下数据库事务和事务的ACID属性。原子性(Atomicity):原子性意味着数据库中的事务执行是作为原子。即不可在分,整个语句要么执行,要么不执行一致性(... 阅读全文
posted @ 2018-08-25 17:18 学无止境Time 阅读(736) 评论(1) 推荐(1)
摘要:简介在SQL Server中,索引是一种增强式的存在,这意味着,即使没有索引,sql server仍然可以实现应有的功能,但索引可以在大多数情况下提升查询性能,在OLAP(On line Transaction Processing)中尤其明显,要完全理解索引的概率,需要了解大量原理性的知识,包括B数,堆,数据库页,区,填充因子,碎片,文件组等到一系列相关知识,这些知识写一本小书也不为过。所以本文... 阅读全文
posted @ 2018-08-25 14:17 学无止境Time 阅读(168) 评论(0) 推荐(0)
摘要:简介 SQL Server自定义函数分为三种类型:标量函数(Scalar Function)、内联表值函数(Inline Function)、多语句表值函数(Multi-Statement Function) 标量函数:标量函数返回一个确定类型的标量值,返回值类型为除TEXT、NTEXT、IMAGE 阅读全文
posted @ 2018-06-01 00:27 学无止境Time 阅读(740) 评论(0) 推荐(0)
摘要:SQL去空格函数 1、ltrim(‘内容’)--去掉字符左边的空格 代码如下 2、rtrim(‘内容’) 去掉列值右边的空格 作用和LTRIM()一样,这里不做介绍 3、ltrim(rtrim('内容')):去掉字符串左边和右边的空格 4、replace(计算字段,' ','') 去掉计算字段列值中 阅读全文
posted @ 2018-05-30 23:57 学无止境Time 阅读(6549) 评论(0) 推荐(2)
摘要:APPLY 运算符 使用 APPLY 运算符(2005或以上版本)可以为实现查询操作的外部表表达式返回的每个行调用表值函数。表值函数作为右输入,外部表表达式作为左输入。通过对右输入求值来获得左输入每一行的计算结果,生成的行被组合起来作为最终输出。APPLY 运算符生成的列的列表是左输入中的列集,后跟 阅读全文
posted @ 2018-05-22 16:14 学无止境Time 阅读(582) 评论(0) 推荐(0)
摘要:前言 数据库的查询执行,毋庸置疑是程序员必备的技能之一,然而数据库查询执行的过程绚烂多彩,却是很少被人了解,今天我们来深入了解下sql查询的来龙去脉,为查询的性能优化打个基础 这篇博客,摒弃查询优化性能,作为其基础,只针对查询流程讲解剖析。 本片博客阐述的过程为 1、上一个标识过的sql语句,展示查 阅读全文
posted @ 2018-05-13 22:37 学无止境Time 阅读(2261) 评论(0) 推荐(0)
摘要:SQL索引在数据库优化中占有一个非常大的比例,一个好的索引的设计,可以让sql语句查询效率提高很多被。 1.1 什么是索引? SQL索引有两种,聚集索引和非聚集索引,索引的主要目的是提高T-SQL系统的性能,加快数据的查询速度与减少系统的响应时间 下面举两个简单的例子方便我们对聚集索引和非聚集索引的 阅读全文
posted @ 2018-05-12 22:37 学无止境Time 阅读(457) 评论(0) 推荐(0)
摘要:简介 存储过程是由一些SQL语句和控制语句组成的被封装起来的过程,它驻留在数据库中,可以被客户应用程序调用,也可以从另一个过程或触发器调用。它的参数可以被传递和返回。与应用程序中的函数过程类似,存储过程可以通过名字来调用,而且它们同样有输入参数和输出参数 存储过程的好处: 1.由于数据库执行动作时, 阅读全文
posted @ 2018-05-11 23:49 学无止境Time 阅读(727) 评论(0) 推荐(0)
摘要:简介 对于select查询语句来说,通常情况下,为了使T-SQL代码更加简洁和可续,在一个查询中引入另外的结果集都是通过视图而不是子查询来进行分解的,但是,视图是作为系统对象存在数据库中,那对于结果集仅仅需要在存储过程或是用户自定义函数中使用一次的时候,使用视图就显得有些奢侈了。 公用表表达式(Co 阅读全文
posted @ 2018-05-11 22:21 学无止境Time 阅读(1749) 评论(0) 推荐(0)