
SQL
chinmusam
懒散的人
展开
-
in和exists的区别与SQL执行效率分析
本文转贴:http://www.cnblogs.com/diction/archive/2008/01/18/1043844.htmlin和exists的区别与SQL执行效率分析本文对in和exists的区别与SQL执行效率进行了全面整理分析……最近很多论坛又开始讨论in和exists的区别与SQL执行效率的问题,本文特整理一些in和exists的区别与SQL执行效率分析SQL中in可原创 2009-12-29 10:10:00 · 353 阅读 · 0 评论 -
SQL2005安装时“性能监视器计数器要求(错误)
在重装安装SQL2005时,再次碰到标题的提示(已经御载SQL2005并且彻底删除安装出来的文件), 1.按照MSDN上介绍的方法,弄一下后还不行的话,我采用如下办法解决了问题:进入注册表,找到SQL Server项下的80,90项,删除右边的所有键值。再次安装即可。现在,将MSDN上介绍的方法拷贝如下,作为备用方法2: 在 “开始” --> “运行”中输入 regedit,开启转载 2012-08-02 13:47:29 · 638 阅读 · 0 评论 -
win-xp-sp3 安装SQL2005时提示 兼容性问题
以前一直在win-xp-sp3上安装sql2005的ent版(两张vd,都是iso的那种),都可以,并且,系统也换过好几次的win-xp-sp3系统。都可正常安装,但今天在笔记本上就不行了,无奈,查了网上的一些说法,说是换成dev版的可以,就下载了安装,果不其然,可顺利安装。现将此开发版的下载放上来,使用迅雷下载,平均速度达到550K/S,超爽,供有需要的参考或下载。 下载地址:http://转载 2012-08-17 12:52:05 · 4815 阅读 · 0 评论 -
PIVOT
PIVOT 和 UNPIVOT 关系运算符将表值表达式更改为另一个表。PIVOT 通过将表达式某一列中的唯一值转换为输出中的多个列来旋转表值表达式,并在必要时对最终输出中所需的任何其余列值执行聚合。 PIVOT 提供的语法比一系列复杂的 SELECT...CASE 语句中所指定的语法更简单和更具可读性。在我们进行复杂的查询统计的时候,特别是销售统计、处理大量数据的时候,PIVOT的作用转载 2012-12-07 14:21:48 · 522 阅读 · 0 评论 -
sql server(PIVOT) 行列转换
原理:利用#Temp临时表 + sp_executesql 文本sql的方式。解决完全用文本SQL实现所有SQL的问题,那样代码不好检查错误和编写。 最近项目中用到Pivot 对表进行转置,遇到一些问题,主要是Pivot 转置的时候没有办法动态产生转置列名,而作视图的时候又很需要动态的产生这些列,百度上似乎也没有找的很满意的答案,在google上搜到一老外的解决方案,现在自己总结了一转载 2012-12-07 14:20:11 · 703 阅读 · 0 评论 -
SQL的行列转换示例
题目:数据库里查出的结果(select 项目,值 from test)项目, 值, 位置项目1, 15,1项目1, 34,2项目1, 56,3项目1, 42,4项目2, 56,1项目2, 67,2项目2, 31,3项目2, 89,4项目3,45,1项目3,22,2项目3,8,3项目3,23,4我想得到这样的结果项目1 项目2转载 2012-12-07 14:26:03 · 507 阅读 · 0 评论 -
VS调试MS SQL存储过程时的问题
现象:利用VS2008在本地调试MS SQL的存储过程的时候,选择alter+F5单步调试时,只输入其中某几个参数的值,直接点“确定”按钮后,存储过程马上就执行完毕了,无任何结果。处理结果:在输入参数后,其它没有输入的默认参数值被VS自动填入了Defaute字符,请将这几个字符全部去掉,便可正常的进入单步调试环节。原创 2013-03-28 15:33:03 · 636 阅读 · 0 评论 -
存储过程在查询分析器中可运行出结果,但用程序调用无法得出结果
1.存储过程中定义的动态查询SQL为8000长度字符串,定义后,运行,将条件输入后,根据写好的SQL字符串,可在查询分析器中查询出来,但程序一调用写好的此存储过程,就一直处于统计中的状态,没有查询结果。原因是:写的SQL语句字符串太长,里面有空行与大量的注释SQL语句造成,我的处理办法是,减少SQL字符串中连接的空行与去掉注释SQL语句。原创 2013-04-18 08:52:34 · 2202 阅读 · 1 评论 -
修改SA 密码 无法设置主体sa 15535 SQLServer2008
修改SA 密码 无法设置主体sa 15535的错误提示, 解决办法:将密码设定好后,点选左边的“常规”,再勾选下面复选框“映射到凭据”,确定,即OK。原创 2013-05-15 09:03:40 · 12876 阅读 · 0 评论 -
SQLServer2008的外围配置(图)
其实官网上有说明,地址如下:http://msdn.microsoft.com/zh-cn/library/ms161956(v=sql.100).aspx1.打开Manager Studio,连接进入数据库后,在顶级结点上,鼠标右键,可看到“方面”,如图: 2.在方面列表中,选择外围配置,这样做的好处,是可以导出为策略,然后可以复用。主要是方便管理吧点击右键,可以原创 2013-05-15 08:56:31 · 3764 阅读 · 0 评论 -
SQLServer : EXEC和sp_executesql的区别
摘要1,EXEC的使用2,sp_executesql的使用 MSSQL为我们提供了两种动态执行SQL语句的命令,分别是EXEC和sp_executesql;通常,sp_executesql则更具有优势,它提供了输入输出接口,而EXEC没有。还有一个最大的好处就是利用sp_executesql,能够重用执行计划,这就大大提供了执行性能(对于这个我在后面的例子中会详加说转载 2012-07-13 11:38:35 · 464 阅读 · 0 评论 -
“对象关闭时,不允许操作”的解决
写了一个存储过程,作用是利用临时表组织一些数据,然后返回。在查询分析器中调用存储过程后,得到预期结果,在客户端使用adoStorePro连上数据库写入参数后,也可以得到预期结果的结果集。但是放到工程项目中后,得到的结果集却是空集,并且跟踪到结果集的字段也是为空,意思就是说,传回来的根本就没有结果集(连结果集的字段都没有传回来),就像没有执行存储过程一样!跟踪到中间层有提示“对象关闭时,不允原创 2012-07-13 15:38:21 · 21416 阅读 · 2 评论 -
左连接,右连接
<br />写一下,温习一下而已,自己的理解与总结,请看到的朋友别笑:<br /> <br />(+)的使用,在SQL条件中用来连接其它的表,<br /> <br />其意义表示:(+)所在的另一侧为连接方向。(注:既然是连接方向,就是连接目标,就是查询的目标表记录,故有如下理解)<br /> <br />(1).如: A.id(+)=B.id 表示查询B表的所有记录,包括A表中没有的ID记录。<br />(2).如: A.id=B.id (+) 表示查询A表的所有记录,包括B表中没有的ID记录。<b原创 2011-03-10 00:44:00 · 642 阅读 · 0 评论 -
优化SQL查询:如何写出高性能SQL语句1
1、 首先要搞明白什么叫执行计划?执行计划是数据库根据SQL语句和相关表的统计信息作出的一个查询方案,这个方案是由查询优化器自动分析产生的,比如一条SQL语句如果用来从一个 10万条记录的表中查1条记录,那查询优化器会选择“索引查找”方式,如果该表进行了归档,当前只剩下5000条记录了,那查询优化器就会改变方案,采用 “全表扫描”方式。可见,执行计划并不是固定的,它是“个性化的”。产生一个转载 2011-11-21 09:51:18 · 769 阅读 · 0 评论 -
SQL Server:创建索引视图
视图也称为虚拟表,这是因为由视图返回的结果集其一般格式与由列和行组成的表相似,并且,在 SQL 语句中引用视图的方式也与引用表的方式相同。标准视图的结果集不是永久地存储在数据库中。查询每次引用视图时,Microsoft® SQL Server™ 2000 会动态地将生成视图结果集所需的逻辑合并到从基表数据生成完整查询结果集所需的逻辑中。生成视图结果的过程称为视图具体化。有关更多信息,请参见视图解析转载 2011-11-21 10:07:06 · 565 阅读 · 0 评论 -
求两个表相差
例表名:A,B,A列名x1,y1,z1 B列名x2,y2,z2 Ax1 y1 z1hh 1 1jj 2 2hh 3 3 Bx2 y2 z2hh 1 1jj 1 1hh 1 1求SQL语句 ,使A,B表相同字段先求和,再A,B相同字段,相减,使得查询结果如下:谢谢。Cx3 y3 z3hh 2 2jj 1 1转载 2011-11-24 21:53:59 · 652 阅读 · 0 评论 -
sql 2005的日期函数
SQL Server 有两种日期类型:DATETIME 和 SMALLDATETIME, DATETIME 的日期范围:1753-1-1到9999-12-31之间的日期值,精度为3.33毫秒,其类型的值在SQLServer内部用两个 4 字节的整数存储。 第一个 4 字节存储“基础日期”(即 1900 年 1 月 1 日)之前或之后的天数。基础日期是系统参照日期转载 2011-11-25 14:38:11 · 451 阅读 · 0 评论 -
SQL Server 2005数据库的排序规则相关知识
SQL Server 2005数据库的排序规则相关知识是本文我们主要要介绍的内容,介绍之前我们先看一个SQL Server 2005无法显示中文的问题,如下:通过SSMS向SQL Server 2005中插入中文数据后,查询出来的结果是???,根本就不显示中文。用图形化和Insert语句后结果也是一样,使用查询分析器操作,情况也是如此。在排除了录入有误的情况外,剩下可以解释的就是SQL Ser转载 2012-05-03 10:32:33 · 1393 阅读 · 0 评论 -
sq中汉字转全拼(仍然是只能获取GBK编码)
alter function [dbo].[fn_Spell](@words nvarchar(2000)) returns varchar(8000) as begin declare @word nchar(1) declare @pinyin varchar(8000) declare @i int declare @words_len int declare转载 2012-05-04 11:36:24 · 1175 阅读 · 0 评论 -
sql中汉字转拼音(针对基本的unicode)
CREATE function f_GetPy(@str varchar(100))returns varchar(8000)asbegin declare @re varchar(8000) --生成临时表 declare @t table(chr nchar(1) collate Chinese_PRC_CS_AS_KS_WS,py nvarchar(20))转载 2012-05-04 11:40:42 · 1901 阅读 · 0 评论 -
sql中实现汉字转全拼
这个一定要拼音库的.Top2 楼zjcxc(邹建)回复于 2006-06-01 19:54:20 得分 95/*--从全拼音中得到汉字拼音 首先,用输入法生成器(Imegen.exe)的逆转换功能 将全拼的码表文件 WINPY.MB 转换成文本文件 c:\winpy.txt 然后用下面的语句导入到数据库中 下面只是转载 2012-05-04 11:26:33 · 1317 阅读 · 0 评论 -
更新一个表字段根据子查询结果
1.先使用上面SQL将子查询结果拷贝到新的临时表t_a中。SELECT * into T_A FROM( SELECT ReportIdentity , finding ,(SELECT TOP 1 finding FROM T_REPORTLOG WHERE T_REPORTLOG.ReportIdentity=T_REPORT.ReportIdentity AND T_REPORTL原创 2013-09-06 15:35:16 · 4597 阅读 · 0 评论