begin···end 该语句定义sql代码块,通常在if和while语句中使用 declare @num int ; ; begin ; print 'hello word' end if···else 条件判断语句,其中else是可选的 print '张三的性别是:男' else print '张三的性别是:女'  while.break.continue declare @num int ; ; begin ; print 'hello word' continue break end 说…
SQL Server 中 EXEC 与 SP_EXECUTESQL 的区别 MSSQL为我们提供了两种动态执行SQL语句的命令,分别是 EXEC 和 SP_EXECUTESQL ,我们先来看一下两种方式的用法. 先建立一个表,并添加一些数据来进行演示: CREATE TABLE t_student( Id INT NOT NULL, Name NVARCHAR () NULL, Age TINYINT NULL, School NVARCHAR() NULL, Class NVARCHAR()…
SQL Server中SCAN 和SEEK的区别 SQL SERVER使用扫描(scan)和查找(seek)这两种算法从数据表和索引中读取数据.这两种算法构成了查询的基础,几乎无处不在.Scan会扫描并且返回整个表或整个索引. 而seek则更有效率,根据谓词(predicate),只返索引内的一个或多个范围内的数据.下面将以如下的查询语句作为例子来分析scan和seek: select OrderDate from Orders where OrderKey = 2 Scan 使用Scan的方式…
本文转自:http://blog.sina.com.cn/s/blog_6399df820102vyy8.html SQL SERVER中openrowset与opendatasource的区别: openrowset 查询:ok select * from openrowset('Microsoft.Jet.OLEDB.4.0', 'Excel 5.0;Database=c:/test.xls;User ID=;Password=;', 'select * from [sheet1$]')  …
原文:SQL SERVER 中的smalldatetime和datetime区别 smalldatetime不能到秒. 不過它占的空間小.(4位) datetime(8位) 而且兩者的時間範圍不一樣. datetime占8字节,精度3.33毫秒,时间从1753.1.1到9999.12.31 smalldatetime占4字节,精度1分钟,时间从1900.1.1到2079.6.6    datetime Date and time data from January 1, 1753, to Dec…
很多人不知道SQL语句在SQL SERVER中是如何执行的,他们担心自己所写的SQL语句会被SQL SERVER误解.比如: select * from table1 where name='zhangsan' and tID > 10000 和执行: select * from table1 where tID > 10000 and name='zhangsan' 一些人不知道以上两条语句的执行效率是否一样,因为如果简单的从语句先后上看,这两个语句的确是不一样,如果tID是一个聚合索引,那…
很多人不知道SQL语句在SQL SERVER中是如何执行的,他们担心自己所写的SQL语句会被SQL SERVER误解.比如: select * from table1 where name='zhangsan' and tID > 10000 和执行: select * from table1 where tID > 10000 and name='zhangsan' 一些人不知道以上两条语句的执行效率是否一样,因为如果简单的从语句先后上看,这两个语句的确是不一样,如果tID是一个聚合索引,那…
今天遇到一个问题:想把sql字符串在SQL Server 中执行了,并获取执行的结果 ); SET @tablename='select @table3 = count(1) from UserVisitLog'; ); exec sp_executesql @tablename, N'@table3 NVARCHAR(300) OUT',@newtablename OUT PRINT @newtablename…
在SQL Server中char类型的长度是不可变的,而varchar的长度是可变的 . 存入数据时: 如果数据类型为char时,当定义一个字段固定长度时,如果存进去数据长度小于char的长度,那么存入数据中数据所占的长度依然为定义字段长度,存入数据格式将变为存入数据加空格: 如果数据类型为varchar时,如果存进去数据长度小于varchar的长度,那么存入数据中数据所占的长度为存入数据长度. 取数据时: 如果数据类型为char时,取出数据需要用trim()去掉多余的空格: 如果数据类型为va…
最近开始接触Oracle,想要了解下同SQL Server使用时的区别.搜寻网上信息找到具体区别分类如下: 一.数据类型比较 类型名称 Oracle SQLServer 比较  字符数据类型  CHAR  CHAR  都是固定长度字符资料但oracle里面最大度为2kb,SQLServer里面最大长度为8kb  变长字符数据类型  VARCHAR2  VARCHAR  Oracle里面最大长度为4kb,SQLServer里面最大长度为8kb  根据字符集而定的固定长度字符串  NCHAR  NC…