Welcome 微信登录

首页 / 数据库 / SQLServer

SQL学习笔记七函数 数字,日期,类型转换,空值处理,case

SQL学习笔记七函数 数字,日期,类型转换,空值处理,case

数字函数 ABS():求绝对值。 CEILING():舍入到最大整数。 FLOOR():舍入到最小整数。 ROUND():四舍五入 ROUND(A,B)A是要处理的数,B是精确到小数点后第几位 LEN():计算字符串长度 LOWER()、UPPER():转小写、大写 LTRIM():字符串左侧的空格去掉 RTRIM():字符串右侧的空格去掉 SUBSTRING(string,start_position,length) string是待处理字符串,star...
去掉前面的0的sql语句(前导零,零前缀)

去掉前面的0的sql语句(前导零,零前缀)

原来sql还有个stuff的函数,很强悍。 一个列的格式是单引号后面跟着4位的数字,比如"0003,"0120,"4333,我要转换成3,120,4333这样的格式,就是去掉单引号和前导的0,用以下语句就可以。 SELECT stuff(substring([当前组织],2,4),1,patindex("%[^0]%",substring([当前组织],2,4))-1,""),人员编码 FROM dbo.orgusermap$ where 人员编码 is ...
在SQL查询中使用LIKE来代替IN查询的方法

在SQL查询中使用LIKE来代替IN查询的方法

如下: 复制代码 代码如下: SELECT * FROM Orders WHERE OrderGUID IN("BC71D821-9E25-47DA-BF5E-009822A3FC1D","F2212304-51D4-42C9-AD35-5586A822258E") 可以看出直接在IN后面跟ID的集合需要将每一个ID都用单引号引起来。在实际应用中会遇到这么一种情况,在界面中收集的是一串GUID的拼接字符串,中间以逗号隔开,如果作为参数传到一个存储过程中执...
SqlServer表死锁的解决方法分享

SqlServer表死锁的解决方法分享

其实不光是上面描述的情况会锁住表,还有很多种场景会使表放生死锁,解锁其实很简单,下面用一个示例来讲解: 1 首先创建一个测试用的表: 复制代码 代码如下: CREATE TABLE Test ( TID INT IDENTITY(1,1) ) 2 执行下面的SQL语句将此表锁住: 复制代码 代码如下: SELECT * FROM Test WITH (TABLOCKX) 3 通过下面的语句可以查看当前库中有哪些表是发生死锁的: 复制代码 代码如下: S...
使用sp_xml_preparedocument处理XML文档的方法

使用sp_xml_preparedocument处理XML文档的方法

有时会在存储过程中处理一些XML格式的数据,所以会用到sp_xml_preparedocument,他可以将XML数据进行读取,然后使用 MSXML 分析器 (Msxmlsql.dll) 对其进行分析。我们就可以很容易的在存储过程中得到XML中我们想要的数据。下面的代码就是使用sp_xml_preparedocument读取XML:复制代码 代码如下: DECLARE @hdoc int DECLARE @doc varchar(1000) SET @do...
SQL查询入门(上篇) 推荐收藏

SQL查询入门(上篇) 推荐收藏

SQL语言是一门简单易学却又功能强大的语言,它能让你快速上手并写出比较复杂的查询语句。但对于大多数开发者来说,使用SQL查询数据库并没有一个抽象的过程和一个合理的步骤,这很可能会使在写一些特定的SQL查询语句来解决特定问题时被”卡”住,本系列文章主要讲述SQL查询时一些基本的理论,以及写查询语句的抽象思路。 SQL查询简介 SQL语言起源于1970年E.J.Codd发表的关系数据库理论,所以SQL是为关系数据库服务的。而对于SQL查询,是指从数据库中取得数...
SQL查询入门(中篇)

SQL查询入门(中篇)

引言 在前篇文章中(SQL查询入门(上篇),我对数据库查询的基本概念以及单表查询做了详细的解释,本篇文章中,主要说明SQL中的各种连接以及使用范围,以及更进一步的解释关系代数法和关系演算法对在同一条查询的不同思路。 多表连接简介 在关系数据库中,一个查询往往会涉及多个表,因为很少有数据库只有一个表,而如果大多查询只涉及到一个表的,那么那个表也往往低于第三范式,存在大量冗余和异常。 因此,连接(Join)就是一种把多个表连接成一个表的重要手段. 比如简单两个...
SQLServer 镜像功能完全实现

SQLServer 镜像功能完全实现

在域环境下我没配置成果,也许是域用户的原因,因为我在生产环境下搞的,更改域用户需要重启SQLServer ,所以这个方法放弃了,只能用证书形式。 环境: 主机:192.168.10.2 (代号A) 镜像:192.168.10.1 (代号B,为了一会说明方便) (条件有限我没有搞见证服务器。)两台服务器上的都是SQLServer2005 首先配置主机 主机上执行以下SQL 复制代码 代码如下: --创建主机数据库主密钥 USE master; CREATE ...
数据库中identity字段不必是系统产生的唯一值 性能优化方法(新招)

数据库中identity字段不必是系统产生的唯一值 性能优化方法(新招)

但是,具有identity特性的字段,不需要具有唯一性,更不必须是主键。 可以通过,set identity_insert tablename (on|off),在运行时控制,是否可以在identity字段中指定值,而不是由系统自动的插入值。 那么,这有什么用处呢。举个例子来说,两个用户之间的聊天,可以有多次,这个用一个chatsession来表示。在数据库中,我们需要三个表: user, chatsession(sessionid identity,.....
合并SQL脚本文件的方法分享

合并SQL脚本文件的方法分享

概述 -------------------------------------------------------------------------------- 在平时的工作中,我会经常的碰到这样需要合并SQL脚本的问题。如,有很多的SQL脚本文件,需要按照一定的先后顺序,再生成一个合并SQL脚本文件,然后再发布到用户SQL Server服务器上。 合并SQL脚本文件,最直接的方法就是新建1个空白的SQL脚本文件,再把需要合并的SQL脚本文件内容复制...
<< 101 102 103 104 105 106 107 108 109 110 >>