-
SQLServer高级内容之case语法函数概述及使用
1.Case函数的用法(1)使用类似:switch-case与if-elseif。(2)语法: case[字段] when表达式then显示数据 when表达式then显示数据 else显示数据 end(3)百分制转换素质教育1)如图:我们要将显示的数据转换成ABCDE,规则是90分以上显示A,80分以上显示B,以此类推...
数据库操作教程 2022-09-23 17:06:25 -
SQLServer日期函数CAST和CONVERT以及在业务中的使用介绍
最近时间刚从客户端转入后台写服务,对于后台数据库以及服务的书写完全是个小白,所以最近写的肯定没有太多技术含量。首先把遇到的问题摆出来:还是那张错误上报表,字段主要有上报错误ID(ErrorID),上报人(ReportPerson),上报时间(ReportTime)精确到毫秒,现在要做的统计是:(1)统计一定时间内【起止时间精确到毫秒】(beginTime,endTime)每个人每天上报的错误个数(2)统计一定时间内【起止时间到精确到月】(beginTime,endTime)按月统计每个人上报的错误总数...
数据库操作教程 2022-09-23 17:06:21 -
诊断SQLSERVER问题常用的日志概述及使用
诊断SQLSERVER问题常用的日志这里主要有两个:(1)Windows事件日志(2)SQLSERVERErrorLog1、Windows事件日志EventLog作为一个Windows开启和管理的服务程序,Windows会在自己的系统日志systemlog里记录SQLSERVER这个服务的启动、正常关闭、异常关闭等信息。SQLSERVER也会把自己的一些概要信息同时记录在Windows的应用程序日志里ApplicationLog而Windows日志本身又能够反映操作系统的健康情况,是否有任何软件或硬件的异常...
数据库操作教程 2022-09-23 17:06:18 -
SQLServer遍历表中记录的2种方法(使用表变量和游标)
SQLServer遍历表一般都要用到游标,SQLServer中可以很容易的用游标实现循环,实现SQLServer遍历表中记录。本文将介绍利用使用表变量和游标实现数据库中表的遍历...
数据库操作教程 2022-09-23 17:06:17 -
sqlnotin与notexists使用中的细微差别
上面两个简单的Sql,我们从表面理解,查询的最终结果应该是一样的,但实际结果却和我们想象的不一样第一条sql查询的结果有一条数据第二条sql查询的结果却为空 原因:notexists的子查询,对于子查询不返回行和子查询返回行的查询结果是有区别的这些细小的差别千万不要被我们所忽视,一旦项目庞大了,想跟踪到具体的错误所花费的时间也是可观的。尽量把这些不必要的错误扼杀在摇篮里...
数据库操作教程 2022-09-23 17:04:50 -
SQLServer高级内容之子查询和表链接概述及使用
1.子查询概念(1)就是在查询的where子句中的判断依据是另一个查询的结果,如此就构成了一个外部的查询和一个内部的查询,这个内部的查询就是自查询。(2)自查询的分类1)独立子查询->独立单值(标量)子查询(=)复制代码代码如下:SelecttestID,stuID,testBase,testBeyond,testProfromScorewherestuID=(selectstuIDfromStudentwherestuName='Kencery')->独立多值子查询(in)复制代码代码如下:SelecttestID,stuID,testBase,testBeyond,testProfromScorewherestuIDin(selectstuIDfromStudentwherestuName='Kencery')2)相关子查询(3)写子查询的注意事项1)子查询用一个圆括号阔气,有必要的时候需要为表取别名,使用“as名字”即可...
数据库操作教程 2022-09-23 17:04:40 -
SQL的Join使用图解教程
对于SQL的Join,在学习起来可能是比较乱的。我们知道,SQL的Join语法有很多inner的,有outer的,有left的,有时候,对于Select出来的结果集是什么样子有点不是很清楚...
数据库操作教程 2022-09-23 17:04:18 -
SQLServer误区30日谈第27天使用BACKUPWITHCHECKSUM可以替代DBCCCheckDB
误区#27:使用BACKUP...WITHCHECKSUM可以替代DBCCCheckDB错误 乍一看,由于BACKUPWITHCHECKSUM会检测所有分配出去的页的校验和的值,这个误区貌似是这么回事,但实际上并不是这么回事,原因如下: 由SQLServer2000或是更早版本升上来的数据库pagechecksums必须开启,在开启后,并不是数据库中所有的页都会被叫上页校验和,当页损坏发生时,IO系统可不会区分损坏的页是有页校验和还是没有校验和的。所以使用BACKUP...WITHCHECKSUM就有可能导致一些损坏页不被发现,造成的后果…… 除此之外,还有一个问题是完整备份的时间间隔相对比较长,假如说一个月,而相对于DBCCCheckDB的最佳实践是一个礼拜,这导致WITHCHECKSUM不能替代CHECKDB...
数据库操作教程 2022-09-23 17:03:22 -
SQLServer数据库开发顶级技巧
确保代码中的数据类型与数据库中的列类型保持一致 确保您的应用程序各层数据类型保持一致是非常重要的。例如,如果一列的数据类型为NVARCHAR(50),那么,您应该在代码查询与存储过程中使用相同类型的局部变量...
数据库操作教程 2022-09-23 16:58:51 -
SQLServer使用Merge语句当源表数据集为空时,无法进行查询的问题
面举一个例子来具体说明一下:有两个表SourceTable为登陆表,TargetTable为授权表,如果访问用户在登陆表中,更新授权表的授权级别,否则授权0表示游客。sql语句如下:--SourceTable为登陆表,TargetTable为授权表--如果访问用户在登陆表中,更新授权表的授权级别,否则授权0表示游客...
数据库操作教程 2022-09-23 16:57:56 -
SQLServer2000中的触发器使用
下面我摘录了SQLServer官方教程中的一段关于触发器的文字,确实有用的一点文字描述。 可以定义一个无论何时用INSERT语句向表中插入数据时都会执行的触发器...
数据库操作教程 2022-09-23 16:56:58 -
SqlServer触发器的使用
SqlServer为每个触发器都创建了两个专用表:Inserted表和Deleted表。这两个表由系统来维护,它们存在于内存中而不是数据库中...
数据库操作教程 2022-09-23 16:56:42