栏目: MsSql

SQL Server索引超出了数组界限的解决方案

有开发的同事反映远程登录SQLServer操作报错,索引超出了数组界限等如下图线上数据库版本为SQLServer2012R2,检查后发现开发人员SSMS版本为2008,版本与服务器不一致,(开发人员要求登录数据库服务器操作,果断拒绝了)建议在本地打上SP3或者直接安装2012的SSMS,安装好后问题...

2021-03-30 171 0 0 阅读全文

Sql中 Order By 和 Group By的区别

orderby从英文里理解就是行的排序方式,默认的为升序。orderby后面必须列出排序的字段名,可以是多个字段名。groupby从英文里理解就是分组。必须有“聚合函数”来配合才能使用,使用时至少需要一个分组标志字段。什么是“聚合函数”?像sum()、count()、avg()等都是“聚合函数”使用...

2021-05-13 114 0 0 阅读全文

数据库SQL中Having和Where的用法区别

“Where”是一个约束声明,使用Where来约束来之http://lib.csdn.net/base/mysql的数据,Where是在结果返回之前起作用的,且Where中不能使用聚合函数。“Having”是一个过滤声明,是在查询返回结果集以后对查询结果进行的过滤操作,在Having中可以使用聚合函...

2021-05-13 152 0 0 阅读全文

SQL Server查询条件IN中能否使用变量的示例详解

在SQLServer的查询条件中,能否在IN里面使用变量呢?如果可以的话,有没有需要注意的地方或一些限制呢?在回答这个问题前,我们先来看看这个例子:IFEXISTS(SELECT1FROMsys.objectsWHEREname='TEST'ANDtype='U')BEGINDROPTABLETES...

2021-04-03 101 0 0 阅读全文

行转列之SQL SERVER PIVOT与用法详解

在数据库操作中,有些时候我们遇到需要实现“行转列”的需求,例如一下的表为某店铺的一周收入情况表:WEEK_INCOME(WEEKVARCHAR(10),INCOMEDECIMAL)我们先插入一些模拟数据:INSERTINTOWEEK_INCOMESELECT'星期一',1000UNIONALLSEL...

2021-04-27 122 0 0 阅读全文

SQLServer 使用Rand获取随机数的操作

Rand()函数是系统自带的获取随机数的函数,可以直接运行selectrand()获取0~1之间的float型的数字。如果想要获取0~100之间的整数随机数,可以这样使用selectround(100*rand(),0)。为方便使用,下面延伸了一个方法:DECLARE@NumBeginInt=60-...

2021-04-04 130 0 0 阅读全文

Mysql Dump导出时报2002套接字错误

在执行mysqldump命令时候报如下错误:[root@localhost~]#mysqldump-uroot-p-dtest>test.sqlmysqldump:Goterror:2002:Can'tconnecttolocalMySQLserverthroughsocket'/tmp/my...

2021-06-17 152 0 0 阅读全文

SQL Server 添加Delete操作回滚日志方式

我们在操作表的时候难免会遇到误删除,或者删掉的数据还想恢复的情况。也许细心的朋友会用begintranrollback/commit这种事务来避免出现失误,但这并不是最保险的。如果提交了事物发现删错了或者忘记提交从而导致表被锁,这些问题总是不可避免的。废话不多说了,下面直接进入正题,通过触发器记录删...

2021-04-04 121 0 0 阅读全文

Sql Server 视图数据的增删改查教程

一、视图的基本概念视图是用于查询的另外一种方式。与实际的表不同,它是一个虚表;因此数据库中只存在视图的定义,而不存在视图中相对应的数据,数据仍然存放在原来的基本表中。视图是一种逻辑对象。二、视图能做什么导出数据;在导出数据时,常常需要多个表联合查询,这个时候就可以使用视图;转换字段,如把status...

2021-04-18 131 0 0 阅读全文

Sqlserver 实现收缩数据库日志操作

说明:收缩日志的原因有很多种,有些是考虑空间不足,有些则是应用程序限制导致的。--将“恢复模式”设置为“简单”ALTERDATABASExszzxt_testSETRECOVERYSIMPLEGO--收缩日志文件大小到10MDBCCSHRINKFILE(N'xszzxt_test_log',10,T...

2021-04-18 169 0 0 阅读全文

Sqlserver查询去掉重复数据的实现

说明:只要数据表“列名”数据相同,则说明是两条重复的数据(ID为数据表的主键自动增长)。推荐使用方法一--方法一select*from表名Awherenotexists(select1from表名where列名=A.列名andID

2021-04-18 151 0 0 阅读全文

解析SQL Server中Datetimeset转换Datetime类型问题

在SQLServer中,数据类型datetimeoffset转换为datetime类型或datetime2类型时需要特别注意,有可能一不小心你可能会碰到下面这种情况。下面我们构造一个简单案例,模拟一下你们可能遇到的情况。CREATETABLETEST(IDINTIDENTITY(1,1),CREAT...

2021-04-18 175 0 0 阅读全文

使用 SQL 语句实现一个年会抽奖程序的代码

年关将近,抽奖想必是大家在公司年会上最期待的活动了。如果老板让你做一个年会抽奖的程序,你会怎么实现呢?今天给大家介绍一下如何通过SQL语句来实现这个功能。实现的原理其实非常简单,就是通过函数为每个人分配一个随机数,然后取最大或者最小的N个随机数对应的员工。?本文使用的示例表可以点此下载。Oracle...

2021-03-28 116 0 0 阅读全文

Sqlserver分页查询处理方法小结

sqlserver2008不支持关键字limit,所以它的分页sql查询语句将不能用MySQL的方式进行,幸好sqlserver2008提供了top,rownumber等关键字,这样就能通过这几个关键字实现分页。下面是本人在网上查阅到的几种查询脚本的写法:几种sqlserver2008高效分页sql...

2021-04-17 136 0 0 阅读全文

程序员最实用的 SQL 语句收藏,看完这篇就够了

文章沿着设计一个假想的应用awesome_app为主线,从零创建修改数据库,表格,字段属性,索引,字符集,默认值,自增,增删改查,多表查询,内置函数等实用SQL语句。收藏此文,告别零散又低效地搜索经常使用的SQL语句。所有SQL都在MySQL下通过验证,可留着日后回顾参考,也可跟着动手一起做,如果未...

2021-05-25 133 0 0 阅读全文

Sql Server几种Join的区别测试方法

主要来介绍下InnerJoin,FullOutJoin,CrossJoin,LeftJoin,RightJoin的区别。InnerJoin:筛选两边都有的记录FullOutJoin:两边都筛选出来,匹配能匹配的,不能匹配的用NULL列出CrossJoin:列出两边所有组合,也称为笛卡尔集A×BLef...

2021-05-11 108 0 0 阅读全文

SQL Server数据库中的表名称、字段比较

项目中一般分测试环境(QAS),生产环境(PRD),当我们的项目经历了一次周期跨度较长的更新后,当我们发布到生产环境时,首要的任务是将新增的表,字段更新到生产数据库。很多时候,当我们发布更新的时候,已经很难记得做了哪些变更。当然有的人会说,1.EFCodeFirst有history记录,这是一种办法...

2021-04-27 140 0 0 阅读全文

Sql Server把退款总金额拆分到尽量少的多个订单中详解

一、问题原来有三个充值订单,现在要退款450元,如何分配才能让本次退款涉及的充值订单数量最少?具体数据参考下图:二、解决方案Step1:对可退金额进行降序排列,以便优先使用可退金额比较大的订单Step2:使用CTE公用表达式,实现类似for或while循环或游标的功能三、脚本createtable#...

2021-04-08 144 0 0 阅读全文

SQL 窗口函数实现高效分页查询的案例分析

?不闻不若闻之,闻之不若见之,见之不若知之,知之不若行之。学至于行之而止矣。——荀子大家好!我是只谈技术不剪发的Tony老师。在使用SQL语句实现分页查询时,我们需要知道一些额外的参数信息,例如查询返回的总行数、当前所在的页数、最后一页的页数等。在传统的实现方法中我们需要执行额外的查询语句获得这些信...

2021-05-21 121 0 0 阅读全文

在Sql Server中调用外部EXE执行程序引发的问题

一、先开启xp_cmdshell打开外围应用配置器—>功能的外围应用配置器—>实例名\DatabaseEngine\xp_cmdshell—>启用二、解决方法usemasterExecxp_cmdshell'mkdird:\csj'--调用dos命令创建文件夹,(执行成功了!)Ex...

2021-05-11 122 0 0 阅读全文