-
在sqlserver中如何使用CTE解决复杂查询问题
最近,同事需要从数个表中查询用户的业务和报告数据,写了一个SQL语句,查询比较慢:SelectS.Name,S.AccountantCode,(SelectCOUNT(*)from(SelectDistinctBusinessBackupIdfromBiz_BusinessBackupCustomerwhereIdin(SelectBusinessBackupCustomerIdfromRpt_RegistFormwhere(SignatureCPA1Id=S.IdorSignatureCPA2Id=S.Id)andDocStatus=30))T)as'BNum',(casewhenR.Idisnullthen0else1end)as'Num',R.ReportBackupDatefromBase_StaffSleftjoinRpt_RegistFormRon(R.SignatureCPA1Id=S.IdorR.SignatureCPA2Id=S.Id)andR.DocStatus=30whereS.UserType=3该查询需要执行10秒左右,仔细分析,它有2次查询类似的结果集(Ba...
数据库操作教程 2022-09-23 17:45:11 -
SqlDateTime溢出该怎么解决
错误出现:导入数据时出现“SqlDateTime溢出。必须介于1/1/175312:00:00AM和12/31/999911:59:59PM之间...
数据库操作教程 2022-09-23 17:44:50 -
MySql查询不区分大小写解决方案(两种)
当我们输入不管大小写都能查询到数据,例如:输入aaa或者aaA,AAA都能查询同样的结果,说明查询条件对大小写不敏感。解决方案一:于是怀疑Mysql的问题...
数据库操作教程 2022-09-23 17:44:44 -
SQLServer评估期已过问题的解决方法
但是,当自己打开之前敲的系统时,总是报错,无法进行。经过检查发现,原来是自己的数据库出现了问题,无法连接到数据库了...
数据库操作教程 2022-09-23 17:44:35 -
MyBatisMapperProviderMessageFormat拼接批量SQL语句执行报错的原因分析及解决办法
最近在项目中有这么一段代码:下载服务器基础业务数据进行本地批量插入操作,因项目中使用mybatis进行持久化操作,故直接考虑使用mybatis的批量插入功能。1.以下是Mapper接口的部分代码publicinterfacePrintMapper{@InsertProvider(type=PrintMapperProvider.class,method="insertAllLotWithVehicleCode4H2")voidinsertAllLotWithVehicleCode(List<LotWithVehicleCodeBO>lotWithVehicleCodes);}2.对应MapperProvider中函数片段publicStringinsertAllLotWithVehicleCode4H2(Map<String,List<LotWithVehicleCodeBO>>map){List<LotWithVehicleCodeBO>lotWithVehicleCodeBOs=map.get("list");StringBuilde...
数据库操作教程 2022-09-23 17:44:13 -
SQLServer无法收缩日志文件的原因分析及解决办法
最近服务器执行收缩日志文件大小的job老是报错我所用的一个批量收缩日志脚本USE[master]GO/******Object:StoredProcedure[dbo].[ShrinkUser_DATABASESLogFile]ScriptDate:01/05/201609:52:39******/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOALTERPROC[dbo].[ShrinkUser_DATABASESLogFile]ASBEGINDECLARE@DBNAMENVARCHAR(MAX)DECLARE@SQLNVARCHAR(MAX)--临时表保存数据CREATETABLE#DataBaseServerData(IDINTIDENTITY(1,1),DBNAMENVARCHAR(MAX),Log_Total_MBDECIMAL(18,1)NOTNULL,Log_FREE_SPACE_MBDECIMAL(18,1)NOTNULL)--游标DECLARE@itemCurCURSORSET@itemCur=CURSORFORSELECTnamef...
数据库操作教程 2022-09-23 17:41:41 -
SqlServerMysql数据库修改自增列的值及相应问题的解决方案
SQLServer平台修改自增列值由于之前处理过sqlserver数据库的迁移工作,尝试过其自增列值的变更,但是通过SQL语句修改自增列值,是严格不允许的,直接报错(无法更新标识列'自增列名称‘)。sqlserver我测试是2008、2012和2014,都不允许变更自增列值,我相信SQLServer2005+的环境均不允许变更字段列值...
数据库操作教程 2022-09-23 17:41:01 -
巧妙利用PARTITION分组排名递增特性解决合并连续相同数据行
问题提出先造一些测试数据以说明题目:DECLARE@TestDataTABLE(IDINT,Col1VARCHAR(20),Col2VARCHAR(20))INSERTINTO@TestData(ID,Col1,Col2)SELECT1,'New','Approved'UNIONALLSELECT2,'Approved','Commited'UNIONALLSELECT3,'Commited','InProgress'UNIONALLSELECT4,'New','Approved'UNIONALLSELECT5,'New','Approved'UNIONALLSELECT6,'New','Approved'UNIONALLSELECT7,'Approved','Removed'SELECT*FROM@TestData数据说明,ID列连续自增...
数据库操作教程 2022-09-23 17:40:18 -
解决SQLServer远程连接失败的问题
机房收费系统异地发布的时候,需要保证数据库能够远程连接,但连接的时候通常会报错:要解决这个问题,首先需要检查SqlServer的几项设置。(这些设置一般都是系统默认项,不过最好看一下)(一)检查SQLServer是否允许远程链接...
数据库操作教程 2022-09-23 17:39:22 -
MSSQL报错:参数数据类型text对于replace函数的参数1无效的解决办法
但是我们可以换一种方法解决这个问题。下面就来分析下解决办法...
数据库操作教程 2022-09-23 17:38:28 -
一个函数解决SQLServer中bigint转int带符号时报错问题
有一个需求是要在一个云监控的状态值中存储多个状态(包括可同时存在的各种异常、警告状态)使用了位运算机制在一个int型中存储。现在监控日志数据量非常大(亿级别)需要对数据按每小时、每天进行聚合,供在线报表使用...
数据库操作教程 2022-09-23 17:35:06 -
SQLServer中bigint转int带符号时报错问题解决方法
有一个需求是要在一个云监控的状态值中存储多个状态(包括可同时存在的各种异常、警告状态)使用了位运算机制在一个int型中存储。现在监控日志数据量非常大(亿级别)需要对数据按每小时、每天进行聚合,供在线报表使用...
数据库操作教程 2022-09-23 17:34:55