-
sqlserver中获取月份的天数的方法分享
如下:复制代码代码如下:CREATEFUNCTION[dbo].[udf_DaysInMonth](@DateDATETIME)RETURNSINTASBEGINDECLARE@dimASTABLE(MINT,DyINT)INSERTINTO@dimVALUES(1,31),(3,31),(5,31),(7,31),(8,31),(10,31),(12,31),(4,30),(6,30),(9,30),(11,30),(2,CASEWHEN(YEAR(@Date)%4=0ANDYEAR(@Date)%100<>0)OR(YEAR(@Date)%400=0)THEN29ELSE28END)DECLARE@RValueINTSELECT@RValue=[Dy]FROM@dimWHERE[M]=MONTH(@Date)RETURN@RValueENDGO获取月份天数,以前在博客上也有写过,不过它只是取得二月份的天数。链接如下:http://www.cnblogs.com/insus/articles/2025019.html现第一眼看见专案中这个函数,总觉它写得不够好的感觉,是否...
数据库操作教程 2022-09-23 20:41:53 -
分享SQLServer删除重复行的6个方法
1.如果有ID字段,就是具有唯一性的字段复制代码代码如下:delecttablewhereidnotin(selectmax(id)fromtablegroupbycol1,col2,col3...)groupby子句后跟的字段就是你用来判断重复的条件,如只有col1,那么只要col1字段内容相同即表示记录相同。2.如果是判断所有字段也可以这样复制代码代码如下:select*into#aafromtablegroupbyid1,id2,....deletetableinsertintotableselect*from#aa3.没有ID的情况复制代码代码如下:selectidentity(int,1,1)asid,*into#tempfromtabeldelect#whereidnotin(selectmax(id)from#groupbycol1,col2,col3...)delecttableinsetintotable(...)select.....from#temp4.col1+','+col2+','...col5联合主键复制代码代码如下:select*fromtablewhe...
数据库操作教程 2022-09-23 20:41:46 -
sqlserver中通过osql/ocmd批处理批量执行sql文件的方法
利用osql/ocmd批处理批量执行sql文件注意:在上图中我们可以看到osql并不支持SQLServer2008的所有功能,如果需要使用SQLServer2008的所有功能可以使用ocmd命令。有了osql/ocmd命令要批量执行sql文件当然需要写一个批处理命令,例如我们执行上面sql文件就可以在txt中编写下面的语句:复制代码代码如下:osql-S"127.0.0.1"-U"sa"-P"sa"-d"Northwind"-i"%CD%/1.sql"osql-S"127.0.0.1"-U"sa"-P"sa"-d"Northwind"-i"%CD%/2.sql"然后保存成sql.bat同上面的1.sql和2.sql放到同一个文件下,在执行时双击sql.bat就可以了...
数据库操作教程 2022-09-23 20:41:36 -
在SQL查询中使用LIKE来代替IN查询的方法
如下:复制代码代码如下:SELECT*FROMOrdersWHEREOrderGUIDIN('BC71D821-9E25-47DA-BF5E-009822A3FC1D','F2212304-51D4-42C9-AD35-5586A822258E')可以看出直接在IN后面跟ID的集合需要将每一个ID都用单引号引起来。在实际应用中会遇到这么一种情况,在界面中收集的是一串GUID的拼接字符串,中间以逗号隔开,如果作为参数传到一个存储过程中执行,最终生成的语句会是下面这样:复制代码代码如下:SELECT*FROMOrdersWHEREOrderGUIDIN('BC71D821-9E25-47DA-BF5E-009822A3FC1D,F2212304-51D4-42C9-AD35-5586A822258E')这样就不能查询到正确的结果...
数据库操作教程 2022-09-23 20:41:31 -
sqlserver下将数据库记录的列记录转换成行记录的方法
假设有张学生成绩表(tb)如下:NameSubjectResult张三语文 74张三数学 83张三物理 93李四语文 74李四数学 84李四物理 94想变成姓名语文数学物理-------------------------------------------李四748494张三748393SQL语句如下:复制代码代码如下:createtabletb(Namevarchar(10),Subjectvarchar(10),Resultint)insertintotb(Name,Subject,Result)values('张三','语文',74)insertintotb(Name,Subject,Result)values('张三','数学',83)insertintotb(Name,Subject,Result)values('张三','物理',93)insertintotb(Name,Subject,Result)values('李四','语文',74)insertintotb(Name,Subject,Result)values('李四','数学',84)insertin...
数据库操作教程 2022-09-23 20:41:23 -
SQLServer触发器及触发器中的事务学习
如果你有对触发器和事务的概念,有些了解,这篇文章,对你来说会是很简单,或能让你更进一步的了解触发器里面的一些故事,和触发器中事务个故事。在这边文章里面,我不会从触发器和事务的概念去讲述,而是从常见的两种触发器类型(DML触发器&DDL触发器)和After触发器& InsteadOf触发器的应用不同,开始说起它们,然后是说与事务有关的故事...
数据库操作教程 2022-09-23 20:41:11 -
在数据库‘master’中拒绝CREATEDATABASE权限问题的解决方法
复制代码代码如下:publicpartialclassCMS_DBDataContext{partialvoidOnCreated(){//如果数据库不存在则创建数据库if(!this.DatabaseExists()){this.CreateDatabase();}}}遇到了以下错误:在数据库‘master'中拒绝CREATEDATABASE权限。经查阅资料得知,运行SQLServer数据库,就必须在实例下创建数据库,不管是直接创建、还是附加、还是还原,总之都得在实例下创建...
数据库操作教程 2022-09-23 20:39:32 -
ADO.NETEF中的实体修改方法
1.传统修改模式,看下列代码复制代码代码如下:using(NorthwindEntitiescontext=newNorthwindEntities()){Regionregion=context.Region.FirstOrDefault(v=>v.RegionID==4);region.RegionDescription="Test";context.SaveChanges();}监控SQL语句:复制代码代码如下:SQL1:SELECTTOP1[Extent1].[RegionID]AS[RegionID],[Extent1].[RegionDescription]AS[RegionDescription]FROM[dbo].[Region]AS[Extent1]WHERE4=[Extent1].[RegionID]SQL2:execsp_executesqlN'update[dbo].[Region]set[RegionDescription]=@0where([RegionID]=@1)',N'@0nchar(4),@1int',@0=N'Test',@1=4从这里例子中...
数据库操作教程 2022-09-23 20:39:04 -
SQL入侵恢复xp_cmdshell方法总结
1433SQL入侵恢复xp_cmdshell方法总结sqlserver2005下开启xp_cmdshell的办法EXECsp_configure'showadvancedoptions',1;RECONFIGURE;EXECsp_configure'xp_cmdshell',1;RECONFIGURE;SQL2005开启'OPENROWSET'支持的方法:execsp_configure'showadvancedoptions',1;RECONFIGURE;execsp_configure'AdHocDistributedQueries',1;RECONFIGURE;SQL2005开启'sp_oacreate'支持的方法:execsp_configure'showadvancedoptions',1;RECONFIGURE;execsp_configure'OleAutomationProcedures',1;RECONFIGURE;突破SA的各种困难常见情况恢复执行xp_cmdshell1未能找到存储过程'master..xpcmdshell'.恢复方法:查询分离器连接后,第一步执行...
数据库操作教程 2022-09-23 20:38:52 -
SQL学习笔记八索引,表连接,子查询,ROW_NUMBER
索引经常要查询的语句,则给它建一个索引表连接selectT_OdersasojoinT_CustomersasCono.CustomerId=c...
数据库操作教程 2022-09-23 20:38:34 -
SQL学习笔记三select语句的各种形式小结
复制代码代码如下:Select*fromT_EmployeeselectFName,FAgefromT_EmployeeselectFNamefromT_EmployeewhereFSalary<5000selectFNameas姓名,FAgeas年龄,FSalaryas月薪fromT_EmployeewhereFSalary<5000selectFNameas姓名,FAgeas年龄,FSalaryas月薪,getdate()as当前时间fromT_Employee3.3.1SELECT命令的格式与基本使用Ø数据查询是数据库中最常见的操作。ØSQL语言提供SELECT语句,通过查询操作可得到所需的信息...
数据库操作教程 2022-09-23 20:38:32 -
SQLserver查询数据类型为ntext是空或NULL值的方法
复制代码代码如下:--为空的值textntextselect*fromlf_newsNg_utfwheredatalength(newsContentE)=0ordatalength(newsContentE)isnull...
数据库操作教程 2022-09-23 20:38:31