文章分类 -  MSSQL

摘要:SQL:删除重复数据,只保留一条用SQL语句,删除掉重复项只保留一条在几千条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复的呢 1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 select * from people where peopleId in (s 阅读全文
posted @ 2019-03-12 13:09 唔愛吃蘋果 阅读(2604) 评论(0) 推荐(0) 编辑
摘要:分页实现的方法又多了一种,在SQL Server 2012版本中,TSQL在Order By子句中新增 Offset-Fetch子句,用于从有序的结果集中,跳过一定数量的数据行,获取指定数量的数据行,从而达到数据行分页的目的。经过测试,从逻辑读取数量和响应的时间消耗来测评,使用Offset-Fetc 阅读全文
posted @ 2018-09-29 09:45 唔愛吃蘋果 阅读(189) 评论(0) 推荐(0) 编辑
摘要:本文只限coder级别层次上对Sql Server的优化处理简结,为防止专业DB人士有恶心、反胃等现象,请提前关闭此页面。 首先得有一个测试库,使用数据生成计划生成测试数据库(参考:http://developer.51cto.com/art/201102/245165.htm),或者下一个MS白给 阅读全文
posted @ 2017-08-07 14:23 唔愛吃蘋果 阅读(307) 评论(0) 推荐(0) 编辑
摘要:1.想要判断数据库查询缓慢的问题,可以使用如下语句,可以列出查询语句的平均时间,总时间,所用的CPU时间等信息 SELECT creation_time N'语句编译时间',last_execution_time N'上次执行时间',total_physical_reads N'物理读取总次数',t 阅读全文
posted @ 2017-08-04 14:46 唔愛吃蘋果 阅读(542) 评论(0) 推荐(0) 编辑
摘要:思路给你: 1、找到你的表中的 连续编号的 最小值。 2、找到你的表中的 连续编号的 最大值。 3、产生一个临时表,它的一个字段最小值到最大值连续产生记录。 4、找到临时表中的 “那个字段中”的 “记录” 不在 “你的表中” 的 “连续编号” 中存在的所有记录。 参考代码如下: 阅读全文
posted @ 2017-05-31 16:45 唔愛吃蘋果 阅读(4778) 评论(0) 推荐(0) 编辑
摘要:apply有两种形式: cross apply 和 outer apply 先看看语法: <left_table_expression> {cross|outer} apply <right_table_expression> 再让我们了解一下apply运算涉及的两个步骤: 使用apply就像是先计 阅读全文
posted @ 2017-05-26 13:52 唔愛吃蘋果 阅读(3654) 评论(0) 推荐(0) 编辑
摘要:use QPRecordDB --指定数据库 select request_session_id spid,OBJECT_NAME(resource_associated_entity_id) tableName from sys.dm_tran_locks where resource_type='OBJECT' --spid 锁表进程 --ta... 阅读全文
posted @ 2016-12-30 09:19 唔愛吃蘋果 阅读(246) 评论(0) 推荐(0) 编辑
摘要:create table #ttt( id int primary key) insert into #tttselect 0 unionselect 1 union select 2 unionselect 3 unionselect 4 unionselect 5 unionselect 6 u 阅读全文
posted @ 2016-12-21 17:38 唔愛吃蘋果 阅读(161) 评论(0) 推荐(0) 编辑
摘要:SQL SERVER 如何把1列多行数据 合并成一列显示,具体格式如下: 查询表:id title1 title12 title23 title3 select stuff((select ','+title from tb for xml path('')),1,1,'') 阅读全文
posted @ 2016-10-20 16:04 唔愛吃蘋果 阅读(2198) 评论(0) 推荐(0) 编辑
摘要:对于数据连接关系比较复杂的查询语句,通常是使用存储过程来完成分页查询的。 一、问题产生 常用的方法是通过传递几个参数,从而完成存储过程的调用。而在存储过程中,在SQL SERVER 2000中,通常是通过拼变量,然后使用EXEC执行的方法,或者采用临时表的方法处理。 到了2005后,SQL SERV 阅读全文
posted @ 2016-09-29 14:18 唔愛吃蘋果 阅读(1999) 评论(0) 推荐(0) 编辑
摘要:sql普通事务 结合try catch 的事务 阅读全文
posted @ 2016-08-16 17:09 唔愛吃蘋果 阅读(558) 评论(0) 推荐(0) 编辑
摘要:declare @day datetime = '2016-07-29' --将一周的第一天设置为从 1 到 7 之间的一个数字. set datefirst 1 --这里值为1,则周1为一周的第一天,如果不设置则7为默认值 --先获取当前时间是星期几,然后减去星期几-1,这样就得到当前周的第一天了 select DATEADD(day,-(DATEPART(weekday,@day)-1),@... 阅读全文
posted @ 2016-07-29 15:27 唔愛吃蘋果 阅读(1644) 评论(0) 推荐(0) 编辑
摘要:--1.第一种测试方法declare @begin datetime,@end datetimeset @begin =getdate(){你所要测试的sql语句} set @end=getdate()PRINT DATEDIFF(millisecond, @begin, @end)/1000.0 阅读全文
posted @ 2016-07-12 17:42 唔愛吃蘋果 阅读(844) 评论(0) 推荐(0) 编辑
摘要:朋友问我为什么一条简单的语句查询要花48秒,告诉我表中大概有1000多w数据,语句如下, REATE PROCEDURE [dbo].[SMS_FEESELECT] @DestTerminalID VARCHAR(13) --用户号码 为什么长度13位? 用户手机号码11位+86 =总位长11AS 阅读全文
posted @ 2016-07-12 17:32 唔愛吃蘋果 阅读(470) 评论(0) 推荐(0) 编辑
摘要:逆透视: 阅读全文
posted @ 2016-06-28 16:48 唔愛吃蘋果 阅读(825) 评论(0) 推荐(1) 编辑
摘要:今天在SQLServer中插断点调试存储过程报错:对 COM 组件的调用返回了错误 HRESULT E_FAIL。 解决方法: win7系统,用c#调用Interop.SHDocVw.dll时,报了个对“ COM 组件的调用返回了错误 HRESULT E_FAIL”的错误。网上有人说要开启dtc服务 阅读全文
posted @ 2016-06-07 09:57 唔愛吃蘋果 阅读(25577) 评论(0) 推荐(0) 编辑
摘要:--获取当天注册数据的2种写法,当然更推荐第二种--第一种select RegisterDate from [QPAccountsDB].[dbo].[AccountsInfo] where CONVERT(varchar(10),RegisterDate,120)=CONVERT(varchar( 阅读全文
posted @ 2016-06-03 17:06 唔愛吃蘋果 阅读(261) 评论(0) 推荐(0) 编辑
摘要:--创建用于生成随机数的视图create view view_randas select cast(rand()*20 as int) as rdgo--创建生成随机数的标量函数create function getRand()returns intasbegin return (select rd... 阅读全文
posted @ 2015-12-22 17:02 唔愛吃蘋果 阅读(866) 评论(0) 推荐(0) 编辑
摘要:动态sql语句基本语法1:普通SQL语句可以用Exec执行eg:Select*fromtableNameExec('select*fromtableName')Execsp_executesqlN'select*fromtableName'--请注意字符串前一定要加N2:字段名,表名,数据库名之类作... 阅读全文
posted @ 2015-11-10 13:01 唔愛吃蘋果 阅读(149) 评论(0) 推荐(0) 编辑
摘要:T-SQL的在执行普通的查询的时候是很高效的,但是在执行循环,判断这样的语句的时候效率就不那么的高了。这时可以借助CLR了,我们可以在SQL Server 2008中扩展C#程序来完成循环等过程式的查询,或者其他SQL不便实现的功能。这个随笔中将介绍在SQL Server中扩展C#程序实现正则表达式... 阅读全文
posted @ 2015-11-10 09:34 唔愛吃蘋果 阅读(341) 评论(0) 推荐(0) 编辑