-
SQLServer日期函数CAST和CONVERT以及在业务中的使用介绍
最近时间刚从客户端转入后台写服务,对于后台数据库以及服务的书写完全是个小白,所以最近写的肯定没有太多技术含量。首先把遇到的问题摆出来:还是那张错误上报表,字段主要有上报错误ID(ErrorID),上报人(ReportPerson),上报时间(ReportTime)精确到毫秒,现在要做的统计是:(1)统计一定时间内【起止时间精确到毫秒】(beginTime,endTime)每个人每天上报的错误个数(2)统计一定时间内【起止时间到精确到月】(beginTime,endTime)按月统计每个人上报的错误总数...
数据库操作教程 2022-09-23 17:06:21 -
SQLServer误区30日谈第2天DBCCCHECKDB会导致阻塞
误区#2:DBCCCHECKDB会引起阻塞,因为这个命令默认会加锁这是错误的! 在SQLServer7.0以及之前的版本中,DBCCCHECKDB命令的本质是C语言实现的一个不断嵌套循环的代码并对表加表锁(循环嵌套算法时间复杂度是嵌套次数的N次方,作为程序员的你懂得),这种方式并不和谐,并且….. 在SQLServer2000时代,一个叫SteveLindell的哥们(现在仍然在SQLServerTeam)使用分析事务日志的方法来检查数据库的一致性的方式重写了DBCCCHECKDB命令。DBCCCHECKDB会阻止截断日志...
数据库操作教程 2022-09-23 17:04:37 -
SQLServer误区30日谈第27天使用BACKUPWITHCHECKSUM可以替代DBCCCheckDB
误区#27:使用BACKUP...WITHCHECKSUM可以替代DBCCCheckDB错误 乍一看,由于BACKUPWITHCHECKSUM会检测所有分配出去的页的校验和的值,这个误区貌似是这么回事,但实际上并不是这么回事,原因如下: 由SQLServer2000或是更早版本升上来的数据库pagechecksums必须开启,在开启后,并不是数据库中所有的页都会被叫上页校验和,当页损坏发生时,IO系统可不会区分损坏的页是有页校验和还是没有校验和的。所以使用BACKUP...WITHCHECKSUM就有可能导致一些损坏页不被发现,造成的后果…… 除此之外,还有一个问题是完整备份的时间间隔相对比较长,假如说一个月,而相对于DBCCCheckDB的最佳实践是一个礼拜,这导致WITHCHECKSUM不能替代CHECKDB...
数据库操作教程 2022-09-23 17:03:22 -
oracle忘记sys/system/scott用户密码的解决方法
一、忘记除SYS、SYSTEM用户之外的用户的登录密码。 用SYS(或SYSTEM)用户登录...
数据库操作教程 2022-09-23 17:01:54 -
关于SQL中CTE(公用表表达式)(CommonTableExpression)的总结
一.WITHAS的含义WITHAS短语,也叫做子查询部分(subqueryfactoring),可以让你做很多事情,定义一个SQL片断,该SQL片断会被整个SQL语句所用到。有的时候,是为了让SQL语句的可读性更高些,也有可能是在UNIONALL的不同部分,作为提供数据的部分...
数据库操作教程 2022-09-23 17:01:44 -
SQLServerCONVERT函数测试结果
复制代码代码如下:SELECTCONVERT(varchar(100),GETDATE(),0):0516200610:57AMSELECTCONVERT(varchar(100),GETDATE(),1):05/16/06SELECTCONVERT(varchar(100),GETDATE(),2):06.05...
数据库操作教程 2022-09-23 16:58:39 -
SQLserver中用convert函数转换日期格式的方法
SQLServer中文版的默认的日期字段datetime格式是yyyy-mm-ddThh:mm:ss.mmm例如:selectgetdate()整理了一下SQLServer里面可能经常会用到的日期格式转换方法:举例如下:selectCONVERT(varchar,getdate(),120)2004-09-1211:06:08selectreplace(replace(replace(CONVERT(varchar,getdate(),120),'-',''),'',''),':','')20040912110608selectCONVERT(varchar(12),getdate(),111)2004/09/12selectCONVERT(varchar(12),getdate(),112)20040912selectCONVERT(varchar(12),getdate(),102)2004.09.12selectCONVERT(varchar(12),getdate(),101)09/12/2004selectCONVERT(varchar(12),getdate(),103)1...
数据库操作教程 2022-09-23 16:58:06 -
sqlconvert函数使用小结
CONVERT(data_type,expression[,style])convert(varchar(10),字段名,转换格式)说明:此样式一般在时间类型(datetime,smalldatetime)与字符串类型(nchar,nvarchar,char,varchar)相互转换的时候才用到.语句结果SELECTCONVERT(varchar(100),GETDATE(),0)071520094:06PMSELECTCONVERT(varchar(100),GETDATE(),1)07/15/09SELECTCONVERT(varchar(100),GETDATE(),2)09.07.15SELECTCONVERT(varchar(100),GETDATE(),3)15/07/09SELECTCONVERT(varchar(100),GETDATE(),4)15.07.09SELECTCONVERT(varchar(100),GETDATE(),5)15-07-09SELECTCONVERT(varchar(100),GETDATE(),6)150709SELECTCONVERT(...
数据库操作教程 2022-09-23 16:55:58 -
sqlcast,convert,QUOTENAME,exec函数学习记录
语法使用CAST:CAST(expressionASdata_type)使用CONVERT:CONVERT(data_type[(length)],expression[,style])参数expression是任何有效的MicrosoftSQLServer"表达式。有关更多信息,请参见表达式...
数据库操作教程 2022-09-23 16:54:49 -
DBCCCHECKIDENT重置数据库标识列从某一数值开始
DBCCCHECKIDENT(N'dbo.Orders',RESEED,0);DBCCCHECKIDENT语法DBCCCHECKIDENT(table_name[,{NORESEED|{RESEED[,new_reseed_value]}}])[WITHNO_INFOMSGS]参数table_name是要对其当前标识值进行检查的表名。指定的表必须包含标识列...
数据库操作教程 2022-09-23 16:54:38 -
SQLServer数据修复命令DBCC一览
1.DBCCCHECKDB 重启服务器后,在没有进行任何操作的情况下,在SQL查询分析器中执行以下SQL进行数据库的修复,修复数据库存在的一致性错误与分配错误。usemasterdeclare@databasenamevarchar(255)set@databasename='需要修复的数据库实体的名称'execsp_dboption@databasename,N'single',N'true'--将目标数据库置为单用户状态dbcccheckdb(@databasename,REPAIR_ALLOW_DATA_LOSS)dbcccheckdb(@databasename,REPAIR_REBUILD)execsp_dboption@databasename,N'single',N'false'--将目标数据库置为多用户状态然后执行DBCCCHECKDB('需要修复的数据库实体的名称')检查数据库是否仍旧存在错误...
数据库操作教程 2022-09-23 16:54:12 -
Cont()与Where().Count()有时性能差别如此之大!
想起我之前在此列表中加入了一个字段,用于方便提示管理员公司的产品列表是否有修改之类的状态字段,于是可以断定是加了此字段的原因。首先,先看看我之前是如何写这个提示状态字段的,实体中加入ContentStatus,然后直接在Linq语句中Select实体对象中加入ContentStatus=Product_Maintain.Count(C=>C.CompanyID==company.ID&&C.IsDeleted==0&&(C.AuditStatus==0||C.AuditStatus==4))>0?"产品有更新":""...
数据库操作教程 2022-09-23 16:52:48