![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MSSQL server
mango_love
习而简之,简而精之
展开
-
SQL SERVER中的纵横查询
关于sql的纵横查询,其实说白了就是pivot(行转列)、unpivot(列转行)、字符拼接、for xml path。网上写关于这方面的东西太少,大多都是把他们分开写的,所以我给大家汇个总给大家来几个例子,应该能弄明白吧!首先创建个表插几条数据吧create table dbo.test ( id int , nam原创 2016-04-21 17:13:56 · 12675 阅读 · 4 评论 -
SQL递归
我们先导入测试数据:CREATE TABLE [dbo].[TestWithTable]( [id] [int] IDENTITY(1,1) NOT NULL, [parentid] [int] NOT NULL, [name] [nchar](10) NULL, CONSTRAINT [PK_TestWithTable] PRIMARY KEY CLUSTERED ( [id]...原创 2019-02-18 15:17:21 · 8683 阅读 · 0 评论 -
SQL查询环比增长 前后行数据对比操作
有一个这样的场景,A公司每年的是一家零售商,有一张表保存每年的营业额度,现在需要对比今年比去年收入是增加了还是减少了加了多少。首先我们拿到这张表,可以自关联但是关联表的年份需要加1,这样就可以上下年份关联起来,下面我们来实现select t1.years, t1.SumMoney as t1SumMoney ,case when t2.SumMoney is null then 0 el...原创 2018-11-14 16:17:38 · 3236 阅读 · 1 评论 -
SQL获取连续时间
在很多时候,我们需要计算每天的订单,每天的考勤,每个月的总销量。。。但是这些信息或许不是连续的,或许每一天有多条,有的时候某一天甚至没有数据,那么这时候我们需要一个连续的时间,然后计算每一天的收入额或者其他的信息记录。我们一开始的设想差不多就是通过计算机能识别的方法——累加时间。就是我定义一个临时表变量,然后循环添加连续的时间到这个表变量里面去,或者字符拼接一个字段然后去进行切割。如下实现方法...原创 2018-11-14 12:11:15 · 2609 阅读 · 0 评论 -
MySql error 2003 Can't connect to MySQL server on 'localhost' (0)
事情是这样的,今天群里一个小伙伴使用MySql的时候出现了error 2003 Can't connect to MySQL server on 'localhost' (0)。见下图。我们来分析,主机地址是localhost,就是连接本地数据库,然后出现问题是无法连接。一般来说就是MySql服务没有打开或者服务对应得MySql版本打开错误。所以,我们重新打开MySql的服务,并且找到对应MySq...原创 2018-05-24 10:46:29 · 5040 阅读 · 1 评论 -
SQLServer Profiler 跟踪器
SQLServer Profiler 是一个界面,用于创建和管理跟踪并分析和重播跟踪结果 这些事件保存在一个跟踪文件中,可以对该文件进行分析或用它来重播一系列特定的步骤。一般的来说,哪台电脑,使用什么权限,执行了什么操作(增删改查,试图,触发器。。。)。我们一般使用这个功能去检测用户请求的哪个功能比较多,执行什么操作最多,那些操作比较耗时,检测死锁等一些事物,有的时候我们的经验有限,所以必要的时候...原创 2018-05-19 19:34:41 · 13663 阅读 · 0 评论 -
SQLServer引擎优化顾问
数据库引擎优化顾问分析一个或多个数据库的工作负荷和物理实现。工作负荷是对要优化的一个或多个数据库执行的一组 Transact-SQL 语句。在优化数据库时,数据库引擎优化顾问将使用跟踪文件、跟踪表或 Transact-SQL 脚本作为工作负荷输入。可以在 SQL Server Management Studio 中使用查询编辑器创建 Transact-SQL 脚本工作负荷。可以通过使用 SQL跟踪...原创 2018-05-19 11:13:21 · 1973 阅读 · 0 评论 -
SqlServer过滤字段中的中文
今天被一个群友问起一个问题,一个字段里面有符号有中文英文,实现功能就是去掉中文。这个字段里面的数据有点意思,前面是型号,后面是中文名称,他打算是去掉后面的中文,但是型号和中文的字数没有一个固定的规律,所以我开始使用一个方法。中文是没有ASCII编码的,所以,我们这里使用的是判断每个char是不是存在ASCII码,如果不存在就去掉。declare @value varchar(100)set @v...原创 2018-04-26 15:04:56 · 5121 阅读 · 1 评论 -
SqlServer动态表查询
事情是这样字的,有的时候我们想去比较两个值类型需要写一个方法,我们比较两个字符类型也需要写一个方法,在c#里面有通用类型-泛型,我们可以通过一个泛型方法就可以搞定。那么有的时候啊,我们也想通过存储过程,我们传入表名,查询出相对应表的数据,我们假装t-sql也可以面向对象首先我们假设直接定义一个参数接收这个表名,然后直接select查询结果:declare @tablName nvarchar(50...原创 2018-05-03 13:34:57 · 3120 阅读 · 1 评论 -
SqlServer分组取一瓢和月初月末
最近发现一个小问题,在以前版本大量迭代中,为了实现各种数据显示,不得不采用分组来显示我们想要的数据,这个数据有什么特点呢?这里大致的分两种,第一种分组取不同数据列满足要求;第二种分组取不同数据且列符合要求的完整数据;,这两种都有一个共同特点:通过分组显示不能分组的列,且保证数据正确,下面我们分别来分析。第一种分组取不同数据列满足要求:这一类型有一个特点,就是根据相同数据的几列分组,显示不同数据且符...原创 2018-05-09 10:11:12 · 971 阅读 · 0 评论 -
SQLSERVER通俗易懂的连接查询、联合查询
最近有好多小伙伴对连接查询有很多的疑问,当然包括初学者和工作几年的老鸟so,抛开那些数学公式,我打算用通俗易懂的图文方式来对连接和联合查询做一些自己的见解,还有更高明的还希望各位不吝赐教首先创建两个表,学生和班级表,一个班级对应多个学生--新建学生表select * into Studentfrom (select 1 as id ,'张三' as name , 18 as age...原创 2018-03-22 13:10:18 · 26407 阅读 · 3 评论 -
MSsqlserver服务快速打开和停止
此篇基础,希望能够帮助已经入坑的同学!!对于用MSSQLserver熟悉的人来说,快速开启和关闭是孰能生巧了。对于刚刚接触的人来说开启管理去打开,实在是麻烦,等待时间太长好了,我们开始开启步骤:按键盘上的inter键(就是Ctrl和alt中间的键)——然后输入CMD(打开doc系统)以管理员身份运行——在命令窗口中输入 net start mssqlserver (可能原创 2015-08-02 10:03:29 · 1283 阅读 · 0 评论 -
SQL server中的SELECT查询语句执行顺序
各位大牛们好第一次写博客有点小激动!以后我会把自己的心得分享给大家,求各种评论SQL server 中SELSECT查询语句的执行顺序如下:(8) SELECT (9) DISTINCT (11) <TOP_specification> <select_list>(12)INTO<new_table>(1) FROM <left_table> ...原创 2015-04-02 20:29:30 · 1840 阅读 · 0 评论 -
SQL性能优化整合持续更新
性能优化是面试、程序员之间交流的重要话题。数据到了一定量级后和用户达到一定数量频繁的请求某些数据查询等操作表,数据库是成为优化的必经之路。众说纷纭,打算从表设计到查询、业务操作等方面入手。数据库从设计到编码到使用这些过程中,及早发现问题比到后面使用后找到问题付出的代价要小,随着时间的发展,越晚发现问题付出的代价越大。设计表结构时优化:1)一般来说,数据库的三大范式可以解决一部...原创 2017-12-26 23:26:07 · 1468 阅读 · 0 评论 -
用sqlserver手动写个split(字符分割)
因为sqlserver中没有字符分割这个东西,所以无聊的时候写了个!关键是用的地方还是比较多的大概用到三个函数吧!算法就不用说了,大致的跟你想的差不多直接上测试三个函数和字符分割例子,不明白的留言或者发邮件select len('231')--结果:3select len('231')--结果:4select charindex('0','30303原创 2016-04-22 18:59:44 · 1215 阅读 · 1 评论 -
SQL Server数据库分区分表
当一个数据表的数据量达到千万级别以后,每次查询都需要消耗大量的时间,所以当表数据量达到一定量级后我们需要对数据表水平切割。水平分区分表就是把逻辑上的一个表,在物理上按照你指定的规则分放到不同的文件里,把一个大的数据文件拆分为多个小文件,还可以把这些小文件放在不同的磁盘下。这样把一个大的文件拆分成多个小文件,便于我们对数据的管理。下面我们来创建表分区代码创建分区表添加文件组代码格式:...原创 2019-05-28 20:38:25 · 18717 阅读 · 0 评论