SqlServer

获取某几个分类下的前N条数据 mssql语句

方案1:(SELECTtop10*FROM表wheretype=3)UNIONALL(SELECTtop10*FROM表wheretype=4)UNIONALL(SELECTtop10*FROM表wheretype=5)方案2:select*from(select*,row_number()over(partitionbytypeorderbyiddesc)asRNfrom表twheretypein(3,4,5))awherern<=10;获取某几个分类下

系统 2019-08-12 01:54:14 1890

SqlServer

SQL Server--索引

一,索引的概述1,概念:数据库索引是对数据表中一个或多个列的值进行排序的结构,就像一本书的目录一样,索引提供了在行中快速查询特定行的能力.2,优缺点:2.1优点:1,大大加快搜索数据的速度,这是引入索引的主要原因.2,创建唯一性索引,保证数据库表中每一行数据的唯一性.3,加速表与表之间的连接,特别是在实现数据的参考完整性方面特别有意义.4,在使用分组和排序子句进行数据检索时,同样可以减少其使用时间.2,2缺点:1,索引需要占用物理空间,聚集索引占的空间更大

系统 2019-08-29 22:30:31 1888

SqlServer

行转列:SQL SERVER PIVOT与用法解释

原文:行转列:SQLSERVERPIVOT与用法解释在数据库操作中,有些时候我们遇到需要实现“行转列”的需求,例如一下的表为某店铺的一周收入情况表:WEEK_INCOME(WEEKVARCHAR(10),INCOMEDECIMAL)我们先插入一些模拟数据:INSERTINTOWEEK_INCOMESELECT'星期一',1000UNIONALLSELECT'星期二',2000UNIONALLSELECT'星期三',3000UNIONALLSELECT'星期

系统 2019-08-12 01:33:23 1888

SqlServer

SQLServer2005分解并导入xml文件

测试环境SQL2005,windows2003DECLARE@idocint;DECLARE@docxml;SELECT@doc=bulkcolumnFROMOPENROWSET(BULK'D:\test.xml',SINGLE_BLOB)ASxEXECsp_xml_preparedocument@IdocOUTPUT,@docSELECT*into#tempFROMOPENXML(@Idoc,'/Root/Item',2)WITH([ID]varchar

系统 2019-08-29 22:13:56 1887

SqlServer

SQL Server 语法收集

时间转换,转换成年月日,用系统函数转换year(CreateTime)=2012month(CreateTime)=9day(CreateTime)=121--获取表中字段的名称2selecttop1col_name(object_id('表名'),1)fromsysobjects3--把col_name(object_id('表名'),1)中的1依次换成2,3,4,5,6…就可得到所有的字段名称。1--获取当前所有的驱动器2execmaster.dbo.

系统 2019-08-12 01:52:06 1887

SqlServer

SQL Server Business Intelligence Development

公司.Net开发使用的是VisualStudio2010,相应的TFS也使用2010版本。而安装SQLServer时自带的SQLServerBusinessIntelligenceDevelopmentStudio却是VisualStudio2008。最近在做一些Report,发现不能使用TFS,开发很不方便。查找资料研究后发现如果要在VisaulStudio2008中使用TFS2010需做以下工作:1.安装TeamExplorer2008安装SQLSer

系统 2019-08-12 01:32:42 1887

SqlServer

查看MS SQL SERVER 错误日志

查看目的:错误日志的查看是确保过程已成功完成(例如,备份和恢复操作,批处理命令,或其他脚本和过程)。这可以帮助检测任何当前或潜在的问题,包括自动恢复信息(尤其是如果SQLServer实例已停止并重新启动),内核信息,或其他服务器级别的错误消息。存放位置:默认情况下,sqlerrorlog的位置(SQLSERVER2005)在:%PROGRAMFILES%\MicrosoftSQLServer\MSSQL.n\MSSQL\LOG\ERRORLOGandERR

系统 2019-08-12 01:33:50 1886

SqlServer

SQL Server中生成指定长度的流水号

很多时候我们都会用到指定长度的流水号,假如生成订单编码规则我们设置为:仓库编码+年月日(6位)+当天四位流水号,如仓库编码为01日期为2009-08-06的第一个订单编码应该为:01200908060001,在这里指定长度的流水号的生成一般都是在数据库里操作,方法可以用下面几种:方式一:笨办法,不够指定长度的话,前面循环加零CREATEFUNCTIONfn_GenerateSerialNumber(@numberValueint,--流水号数值@lengt

系统 2019-08-12 01:52:57 1882

SqlServer

SQL Server 无法修改表,超时时间已到

SQLServer一张表存储大量数据的时候,对表结构作修改就非常耗时了。其实耗时还好说,我们年轻,有的是时间……最怕的是它觉得太耗时就放弃给你修改了。这几天想给某个表加个字段,就遇到了这样的问题。点了保存后过一段时间,就会弹出个对话框说:无法修改表。超时时间已到,在操作完成之前超时时间已过或服务器未响应解决办法:在SQLServerManagementStudio里,通过菜单“工具-选项”打开选项对话框。在左侧寻找“设计器-表设计器和数据库设计器”,然后在

系统 2019-08-12 01:54:16 1880

SqlServer

SQL Server 索引和表体系结构(非聚集索引)

原文:SQLServer索引和表体系结构(非聚集索引)非聚集索引概述对于非聚集索引,涉及的信息要比聚集索引更多一些,由于整个篇幅比较大涉及接下来的要写的“包含列的索引”,“索引碎片”等一些知识点,可能要结合起来阅读理解起来要更容易一些。非聚集索引和聚集索引一样都是B-树结构,但是非聚集索引不改变数据的存储方式,所以一个表允许建多个非聚集索引;非聚集索引的叶层是由索引页而不是由数据页组成,索引行包含索引键值和指向表数据存储位置的行定位器,既可以使用聚集索引来

系统 2019-08-12 01:32:21 1876

SqlServer

SQL Server中的convert来转换时间

sqlserver-ConvertDateTime格式的转换(转)将sqlserver中table表的[datetime]字段值‘2007-11-0716:41:35.033’改为‘2007-11-0700:00:00‘去除了时分秒.[datetime]字段要为datetime类型的哦.UPDATEtableSET[datetime]=Convert(char(11),[datetime],120)获取当前日期利用convert来转换成我们需要的datet

系统 2019-08-29 23:30:43 1875

SqlServer

MSSQL 一个循环插入的列子

今天在群里看到有人提问怎么实现如下图的功能,很明显,如果我们手工插的话,费时费力,那何不来个循环判断插入了,这使我想起了while语句说做就做于是写出了下面的代码:createtablerq(dtdatetime,wbvarchar(5))declare@dtdatetimedeclare@nintset@dt='2011-12-1'set@n=0while@n<10begin-----看情况修改10这个数据insertintorqselectdatead

系统 2019-08-12 01:54:01 1874

SqlServer

SQLserver 2000分页另类通用解决方案

存储过程分页大都会用到这样的语句SELECT*,row_number()OVER(ORDERBYidDESC)ASrowNumberFROM但是SQL2000中不支持row_number()需要使用select....into配合临时表和IDENTITY(data_type[,seed,increment])AScolumn_name来作为替代方案。语句像下面这样SELECT*,identity(int,1,1)asrowNumberINTO#tempFR

系统 2019-08-12 01:33:48 1874

SqlServer

SQL Server基础概念--触发器 <>

触发器是一种实施复杂的完整性约束的特殊存储过程。它在SQLServer进行某个特定的表修改时由SQLServer自动执行。触发器一般用于加强数据库的某些使用规则。当普通的约束(包括CHECK机制、DEFAULT机制、RULE机制)不足于加强数据的完整性时,就可以考虑使用触发器。触发器对于那些为不同的商务软件提供后台数据服务的大型系统特别有用。因为触发器可以为数据库建立独立于具体客户端软件的完整性规则。触发器和表是紧密联系在一起的,任何触发器都是在特定的表上

系统 2019-08-12 01:52:31 1873

SqlServer

SQL Server 2008存储结构之GAM、SGAM

【IT168专稿】谈到GAM和SGAM,我们不得不从数据库的页和区说起。一个数据库由用户定义的空间构成,这些空间用来永久存储用户对象,例如数据库管理信息、表和索引。这些空间被分配在一个或多个操作系统文件中。当我们创建一个数据库的时候,例如以缺省的方式CREATEDATABASETESTDB,SQLServer自动帮我们创建好如下两个数据库文件。这两个数据文件是实实在在的操作系统文件,其中一个是叫行数据文件,用来存储数据库的各种对象,另外一个是日志文件,从来

系统 2019-08-12 01:33:24 1871