例如查询 2012-1-5 到 2012-11-3 之间所有的月份 declare @begin datetime,@end datetime set @begin='2012-1-5' set @end='2012-11-3' declare @months int set @months=DATEDIFF(month,@begin,@end) select convert(varchar(7),DATEADD(month,number,@begin) ,120) AS 月份 from mas…
DECLARE @days INT, @date_start DATETIME = '2016-11-01', @date_end DATETIME = '2016-11-10' SET @days = DATEDIFF(DAY, @DATE_START, @DATE_END); SELECT DAY(DATEADD(dd, number, @DATE_START)) AS 日期 FROM master.dbo.spt_values WHERE type = 'p' AND number <=…
total_worker_time AS [总消耗CPU 时间(ms)], execution_count [运行次数], qs.total_worker_time AS [平均消耗CPU 时间(ms)], last_execution_time AS [最后一次执行时间], min_worker_time AS [最小执行时间(ms)], max_worker_time AS [最大执行时间(ms)], , ( THEN DATALENGTH(qt.text) ) AS [使用CPU的语法],…
在SQL SERVER中获取表中的第二条数据, 思路:先根据时间逆排序取出前2条数据作为一个临时表,再按顺时排序在临时表中取出第一条数据 sql语句如下: select top 1 * from(select top 2 * from NumberLog where UserName = '管理员' order by dateTime desc ) [table] order by dateTime asc…
sql server 2008中的主外键关系获取方式: 转自:http://www.cnblogs.com/ke10/archive/2012/06/11/2544655.html SELECT OBJECT_NAME(con.constid) '关系名' ,OBJECT_NAME(sf.fkeyid) '主键表' ,fcol.name '主键' ,OBJECT_NAME(sf.rkeyid) '外键表' ,rcol.name '外键',st.name'数据类型'FROM sysforeignk…
declare @begin datetime,@end datetime set @begin='2017-01-01' set @end='2019-03-04' declare @months int set @months=DATEDIFF(month,@begin,@end) ),) AS 月份 from master.dbo.spt_values where type='p' AND number<=@months 查询2017-01-01到2019-03-04之间所有的月份 说明:…
在写代码的时候,有时候实现一个功能会有好多个方法,有时候会做一下方法的耗时对比,综合下时间复杂度与空间复杂度,写出最好的代码: 同样,在写一些SQL查询,SQL代码的时候,也希望能写出一个高效一点的查询: 下面这部分代码就可以简单分析下SQL语句的耗时情况: --清除缓存 CHECKPOINT; DBCC DROPCLEANBUFFERS; DBCC FREEPROCCACHE; DBCC FREESYSTEMCACHE ('ALL'); declare @begintime datetime,…
上篇 <python时间时分秒与秒数的互相转换>http://www.cnblogs.com/gayhub/p/6154707.html 提到了把时间转成秒数的方法, 这篇写写转换成秒数后有些什么用处. 场景1:取N个07:30:00-09:30:33之间的随机时间. 下面是我的代码: #2016-12-10 7:06:29 codegay import random st = "07:30:00" et = "09:30:33" def time2se…
    工作中时常遇到字符串转换为拼音的需求.特别目前在各大网站平台都可以看到的基于拼音的查询功能.如果在查询中增加相应的拼音查询,就可以减少很多的因中文汉字完全输入的不便利,例如:当我要查询叫”郭德纲“人员时,直接输入"GDG"即可,这样是不是比较方便输入.          中文汉字有个特点:同字不同音 .在不同的语境或中文汉字组合时,会出现不同的读法.比如:参加会议中的”参“和中药材人参中“参”是两个不同的读音,诸如这样的中文汉字有不少的.本版块的实现也存在这样的问题.可以通过项…
SCOPE_IDENTITY()函数 返回的是紧跟这个插入语句生成的自增ID, 若果前一个语句不是插入自增ID的,将返回NULL @@IDENTITY 返回全局的最有一个生成的自增ID,全局可用 create table test( id int identity ,v int ) insert into test(v)values(1) select SCOPE_IDENTITY() SELECT @@IDENTITY 结果 Note 有的地方喜欢使用 output inserted.tab_…
--常用日期转换参数: PRINT CONVERT(varchar, getdate(), 120 ) 2016-07-20 16:09:01 PRINT replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','') 20040912110608 PRINT CONVERT(varchar(12) , getdate(), 111 ) 2004/09/12 PRINT CONVERT(varch…
直接贴代码了: 用户表: SELECT s.Name,Convert(varchar(max),tbp.value) as Description FROM sysobjects s AND (tbp.Name='MS_Description' OR tbp.Name is null) WHERE s.xtype IN('U') 示例: 用户视图: SELECT s.Name,Convert(varchar(max),tbp.value) as Description FROM sysobjec…
直接贴代码了: SELECT sysobjects.name AS TableName, syscolumns.Id AS TableId, syscolumns.name AS DbColumnName, systypes.name AS DataType, syscolumns.length AS [Length], sys.extended_properties.[value] AS [ColumnDescription], syscomments.text AS DefaultValue…
SQL SERVER中XML查询:FOR XML指定PATH 前言 在SQL SERVER中,XML查询能够指定RAW,AUTO,EXPLICIT,PATH.本文用一些实例介绍SQL SERVER中指定PATH的XML查询. PATH參数 PATH('參数'),參数是用来重命名ROW的,ROW是默认生成的名称. select 'Hui' for xml path  结果:<row>Hui</row> select 'Hui' for xml path ('root') 结果:<…
原文:SQL点滴9-SQL Server中的事务处理以及SSIS中的内建事务 我们可以把SSIS中的整个package包含在一个事务中,但是如果在package的执行过程中有一个表需要锁定应该怎么处理呢?SSIS内建的事务处理可以解决这个问题.在此之前首先来熟悉一下SQL Server中的事务的概念. 事务 SQL Server中的事务是单个的工作单元.如果某一事务成功,则在该事务中进行的所有数据修改均会提交,成为数据库中永久的组成部分.如果事务遇到错误且必须取消或回滚,则所有的数据修改均被清除…
SQL Server中内连接和外连接的区别 假设一个数据库中有两张表,一张是学生表StudentInfo,一张是班级表ClassInfo,两张表之间用ClassId字段进行关联. 如果用内连接,正常的写法是这样的: Select StudentInfo.*,ClassInfo.* from StudentInfo join ClassInfo on StudentInfo.ClassId=ClassInfo.ClassId 用这种写法不会出现笛卡尔积,但是内连接是允许省略连接条件的,也就是可以省…
在SQL Server中,我们能否找到索引的创建时间?最后一次索引重建(Index Rebuild)的时间? 最后一次索引重组(INDEX REORGANIZE)的时间呢?  答案是我们无法准确的找到索引的创建时间.最后一次索引重组时间,最后一次索引重建的时间. 其实就目前SQL Server的各个版本而言,还没有一个系统表或DMV视图有保存索引创建的时间,索引重建的时间.索引重组的时间.但是有些方法可以间接得到最后一次索引重建的时间,但是这个值有时候往往不是准确的(有时候是准确的,有时候是不准…
sql server中的uuid  建表: 1.自增长 studentno int primary key identity(1,1)——bigint也是可以的 2.创建uuidcustomerid uniqueidentifier primary key default newid()     获取UUID:select newid() 即可   1.获取32位的UUID -----批处理 declare @newid varchar(36)=newid() select SUBSTRING(…
https://blog.csdn.net/deepwishly/article/details/9101307 这是计算一个月第一天的SQL 脚本:   SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0) --当月的第一天 SELECT DATEADD(mm, DATEDIFF(mm,0,getdate())-1, 0) --上个月的第一天 SELECT DATEADD(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate()…
不知道什么时候对数据独有情种,也许是因为所学专业的缘故,也许是在多年的工作中的亲身经历,无数据,很多事情干不了,数据精度不够,也很多事情干不了,有一次跟一个朋友开玩笑说,如果在写论文的时候,能有一份独一无二的数据,那么这已经超过别人一大截,但这毕竟死空中楼阁,事与愿违的事情见多了,也就不足为其,我深知数据的重要,但却因为得不到数据而烦恼,现在想想,这又是何必呢,也许自己有了数据,反而不会经常静下心去思考,人就是这样对自己身边拥有点的东西往往关心不足,考虑不周. 所谓的有得有失,我想我得到的就是自…
当一切正常时,没有必要特别留意什么是事务日志,它是如何工作的.你只要确保每个数据库都有正确的备份.当出现问题时,事务日志的理解对于采取修正操作是重要的,尤其在需要紧急恢复数据库到指定点时.这系列文章会告诉你每个DBA应该知道的具体细节. 对于在我们关注下的所有数据库,在日志维护方面,我们的首要目标是最优化写性能,为了支持SQL Server写入日志的所有活动,包括数据修改,数据读取,索引维护等等.但是,留意下可能的日志碎片也是重要的,如前面文章介绍的,它会影响需要读取日志的过程性能,例如日志备份…
本篇索引: 1.事务 2.锁定和阻塞 3.隔离级别 4.死锁 一.事务 1.1 事务的概念 事务是作为单个工作单元而执行的一系列操作,比如查询和修改数据等. 事务是数据库并发控制的基本单位,一条或者一组语句要么全部成功,对数据库中的某些数据成功修改; 要么全部不成功,数据库中的数据还原到这些语句执行之前的样子. 比如网上订火车票,要么你定票成功,余票显示就减一张; 要么你定票失败获取取消订票,余票的数量还是那么多.不允许出现你订票成功了,余票没有减少或者你取消订票了,余票显示却少了一张的这种情况…
原本打算写有关 SSIS Package 中的事务控制过程的,但是发现很多基本的概念还是需要有 SQL Server 事务和事务的隔离级别做基础铺垫.所以花了点时间,把 SQL Server 数据库中的事务概念,ACID 原则,事务中常见的问题,问题造成的原因和事务隔离级别等这些方面的知识好好的整理了一下. 其实有关 SQL Server 中的事务,说实话因为内容太多, 话题太广,稍微力度控制不好就超过了我目前知识能力范围,就不是三言两语能够讲清楚的.所以希望大家能够指出其中总结的不足之处,对我…
了解事务和锁 事务:保持逻辑数据一致性与可恢复性,必不可少的利器. 锁:多用户访问同一数据库资源时,对访问的先后次序权限管理的一种机制,没有他事务或许将会一塌糊涂,不能保证数据的安全正确读写. 死锁:是数据库性能的重量级杀手之一,而死锁却是不同事务之间抢占数据资源造成的. 不懂的听上去,挺神奇的,懂的感觉我在扯淡,下面带你好好领略下他们的风采,嗅査下他们的狂骚.. 先说事务--概念,分类 用华仔无间道中的一句来给你诠释下:去不了终点,回到原点. 举例说明: 在一个事务中,你写啦2条sql语句,一…
GUID(Global unique identifier)全局唯一标识符,它是由网卡上的标识数字(每个网卡都有唯一的标识号)以及 CPU 时钟的唯一数字生成的的一个 16 字节的二进制值. GUID 的格式为“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”,其中每个 x 是 0-9 或 a-f 范围内的一个十六进制的数字.例如:6F9619FF-8B86-D011-B42D-00C04FC964FF 即为有效的 GUID 值. 世界上的任何两台计算机都不会生成重复的…
锁的概述 一. 为什么要引入锁 多个用户同时对数据库的并发操作时会带来以下数据不一致的问题: 丢失更新A,B两个用户读同一数据并进行修改,其中一个用户的修改结果破坏了另一个修改的结果,比如订票系统 脏读A用户修改了数据,随后B用户又读出该数据,但A用户因为某些原因取消了对数据的修改,数据恢复原值,此时B得到的数据就与数据库内的数据产生了不一致 不可重复读A用户读取数据,随后B用户读出该数据并修改,此时A用户再读取数据时发现前后两次的值不一致 并发控制的主要方法是封锁,锁就是在一段时间内禁止用户做…
事务是什么 在SQL Server中事务是构成一个工作逻辑单元的一系列任务,也就说多个任务放在一起执行,这些任务要么全部执行成功,要么全部执行失败. 通过事务我们可以保证数据的完整性,例如:用户A给用户B转1000块钱,如果从用户A的账号中扣了1000块,但是在向用户B账号添加1000块的时候执行失败,这个时候用户A说自己转了,用户B却有没收到,两个还不得打起来.所以针对于这种情况,需要使用事务,其中从用户A账号扣除1000块钱是一个任务,向用户B账号添加1000块是另一个任务,这两个任务如果都…
SQL Server中的事务与锁   了解事务和锁 事务:保持逻辑数据一致性与可恢复性,必不可少的利器. 锁:多用户访问同一数据库资源时,对访问的先后次序权限管理的一种机制,没有他事务或许将会一塌糊涂,不能保证数据的安全正确读写. 死锁:是数据库性能的重量级杀手之一,而死锁却是不同事务之间抢占数据资源造成的. 不懂的听上去,挺神奇的,懂的感觉我在扯淡,下面带你好好领略下他们的风采,嗅査下他们的狂骚.. 先说事务--概念,分类 用华仔无间道中的一句来给你诠释下:去不了终点,回到原点. 举例说明:…
摘自: http://www.myexception.cn/sql-server/385562.html 高手进 锁 nolock,rowlock,tablock,xlock,paglock 锁 nolock,rowlock,tablock,xlock,paglock 请问大哥,在什么情况下用什么样的锁,小弟不太明白. ------解决方案-------------------- SQL code 锁定提示 描述 HOLDLOCK 将共享锁保留到事务完成,而不是在相应的表.行或数据页不再需要时就…
前言 一提到跟踪俩字,很多人想到警匪片中的场景,同样在我们的SQL Server数据库中“跟踪”也是无处不在的,如果我们利用好了跟踪技巧,就可以针对某些特定的场景做定向分析,找出充足的证据来破案. 简单的举几个应用场景: 在线生产库为何突然宕机?数百张数据表为何不翼而飞?刚打好补丁的系统为何屡遭黑手?新添加的信息表为何频频丢失?某张表字段的突然更改,究竟为何人所为?这些个匿名的访问背后,究竟是人是鬼?突然增加的增量数据,究竟是对是错?数百兆的日志爆炸式的增长背后又隐藏着什么?这一且的背后,是应用…