0

PostgreSQL 务实应用(一/5)树形层级

项目中,经常会碰到多级的树形结构数据,如地区信息,省、市、区、街道等,或客户关系信息上三级,下三级等。 实际项目中,我们可能碰到以下两种需求: 一条记录中呈现路径:省 市 区 街道 一条记录中呈现上几级:上级,上上级,上上上级 此情此景,使用 WITH RECURSIVE 递归查询再合适不过。 递归 ...

三人行工作室 发布于 2019-05-13 10:40 评论(0)阅读(92)
3

【干货】SqlServer 总结几种存储过程分页的使用

就我而言写代码最烦的就是处理数据,其中之一就是分页的使用。 有的代码写多了,总结出一套适用自己的分页方法;有的查一下资料借鉴一下套用起来也达到目的。 那么小编在这里给大家总结几个方法供大家做一下参考。 分页方法一: 方法二: 方法三: 方式四: 还有更多分页方式,感兴趣的可以去查查资料,上面的分页方 ...

熊泽-学习中的苦与乐 发布于 2019-05-13 10:39 评论(2)阅读(286)
1

mssql sqlserver 使用SSMS运行sql脚本的六种方法分享

摘要: 下文讲述五种运行sql脚本的方法,如下所示: 实验环境:sql server 2008 R2 在一次会议讨论中,大家咨询我使用SSMS运行sql脚本的方法,下文我将依次举例讲述sql脚本的运行方法,如下所示: 1.选中待运行sql脚本,按快捷键"F5" 2.选中待运行sql脚本,点击右键,选 ...

Adeal2008 发布于 2019-05-13 09:57 评论(1)阅读(79)
1

删除字符串前导的零字符

在这篇《前导或后导字符串》https://www.cnblogs.com/insus/p/10842839.html 中。是为字符串使用前导来补充字符串,令其长度一致。 相反,如果我们把带有前导零的字符串,去除这些前导的零。我们又需要怎样处理呢? SET ANSI_NULLS ON GO SET Q ...

Insus.NET 发布于 2019-05-13 00:14 评论(0)阅读(51)
1

字段组合查询

刚有网友问及,数据表的姓与名是分开存储,但查询时,传入的是全名,怎样实现查询。 Insus.NET简单写了一个例子,可以参考之: IF OBJECT_ID('[dbo].[Employee]') IS NOT NULL DROP TABLE [dbo].[Employee] CREATE TABLE ...

Insus.NET 发布于 2019-05-12 21:54 评论(0)阅读(63)
1

获知某一年的母亲节,父亲节和感恩节日期

完成这个要求之前,可以先参考另外一个函数《获取当月的天数列表》https://www.cnblogs.com/insus/p/10837900.html: 然后要知道标题三个节日的常识,母亲节在每年5月份的第二个星期天,父亲节在每年6月份的第三个星期天,而感恩节是在每年的11月份第四个星期的星期四。 ...

Insus.NET 发布于 2019-05-12 18:58 评论(0)阅读(90)
1

列值转换为逗号分隔字符串

将数据表的某一列值,转换为逗号分隔字符串: 先准备一些数据: DECLARE @t AS TABLE([Datas] NVARCHAR(40)) INSERT INTO @t ([Datas]) VALUES(N'DF'),(N'W4F'),(N'EYY'),(N'ER'),(N'GFF'),(N' ...

Insus.NET 发布于 2019-05-12 17:23 评论(0)阅读(68)
1

获取某一行数据

比如: DECLARE @t AS TABLE([Datas] NVARCHAR(40)) INSERT INTO @t ([Datas]) VALUES(N'DF'),(N'W4F'),(N'EYY'),(N'ER'),(N'GFF'),(N'A445') SELECT [Datas] FROM ...

Insus.NET 发布于 2019-05-12 16:20 评论(0)阅读(56)
1

获取某一年的母亲节或父亲节日期

今天是母亲节,它是在每一年的五月份的第二个星期天,而父亲节,是在每一个的六月份的第三个星期天。 把星期天设置为每周的开始,将一周的第一天设置为从 1 到 7 的一个数字。 参考MSDN:https://docs.microsoft.com/zh-cn/sql/t-sql/statements/set ...

Insus.NET 发布于 2019-05-12 13:16 评论(0)阅读(86)
1

分组将列值转换为以逗号分隔字符串

实现这篇之前,可以先参考这篇《数据表列值转换为逗号分隔字符串》https://www.cnblogs.com/insus/p/10848578.html 上这篇,只是输出一个值,现我们把数据表进行分组。 先把上一篇的源始数据再组织一下: IF OBJECT_ID('tempdb..#tempTabl ...

Insus.NET 发布于 2019-05-11 16:53 评论(0)阅读(75)
1

数据表列值转换为逗号分隔字符串

在开发SQL Server语序中,可能需要这样一个要求,把表中某一列的所有值转换为使用逗号分隔的字符串去呈现出来。 举个例子: IF OBJECT_ID('tempdb..#tempTable') IS NOT NULL BEGIN DROP TABLE #tempTable END CREATE ...

Insus.NET 发布于 2019-05-11 14:28 评论(3)阅读(653)
0

sqlserver的表变量在没有预估偏差的情况下,与物理表可join产生的性能问题

众所周知,在sqlserver中,表变量最大的特性之一就是没有统计信息,无法较为准备预估其数据分布情况,因此不适合参与较为复杂的SQL运算。当SQL相对简单的时候,使用表变量,在某些场景下,即便是对表变量的预估没有产生偏差的情况下,仍旧会有问题。sqlserver的优化引擎对于表变量的支持十分不友好 ...

MSSQL123 发布于 2019-05-11 00:35 评论(0)阅读(82)
0

PostgreSQL 修改表字段常用命令

--数据库、模式、表名 "identities"."Test"."tab_test" --修改字段名 ALTER TABLE "identities"."Test"."tab_test" RENAME "u_name" to realname ; --添加字段 ALTER TABLE "identi... ...

低调码农哥! 发布于 2019-05-10 18:24 评论(0)阅读(681)
1

获取指定日期相关DATENAME和DATEPART数据

DATENAME和DATEPART有何区别,Insus.NET写成一个函数,可以方便查询与对比: 一个是返回一个字符串,另一个是返回一个整数。 SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- -- Author: Insus.NET -- Cr ...

Insus.NET 发布于 2019-05-10 14:51 评论(0)阅读(177)
1

获取某一天所在周的开始日期和结束日期

指定一个日期,获取其所属周的开始日期和结束日期。以及前一周和后一周的开始日期和结束日期。 Insus.NET把这个功能写成一个自定义函数Table-values Functions。 SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- -- Aut ...

Insus.NET 发布于 2019-05-10 11:59 评论(0)阅读(83)
0

进销存数据库设计:采购订单

进销存的订单表设计这里只讨论最简单的业务流程,采购申请等业务流程不考虑包括主表(表头)和子表(明细表)主表:主要信息包括单据流水编码、供应商信息、订单类型、单据日期、制单人等等子表:主要信息是物料、数量以及价格主表相关设计如下()子表相关设计如下 ...

陈恩点 发布于 2019-05-10 11:11 评论(0)阅读(158)
0

SQL Server一个特殊的阻塞案例分析2

最近发现一个非常奇怪的阻塞问题,如下截图所示(来自监控工具DPA),会话583被会话1036阻塞,而且阻塞发生在tempdb,被阻塞的SQL如下截图所示,会话等待类型为LCK_M_S 因为DPA工具不好截取全部信息,使用下面SQL语句获取了阻塞会话的详细信息如下,来自Microsoft SQL Se... ...

潇湘隐者 发布于 2019-05-10 11:08 评论(2)阅读(153)
1

前导或后导字符串

根据需求,需要把某一些数字或字符串进行格式化,前导或后导字符串。Insus.NET把这个功能写成一个自定义函数。需要时,直接使用即可。 SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- -- Author: Insus.NET -- Create ...

Insus.NET 发布于 2019-05-10 10:14 评论(0)阅读(76)
1

指定日期,判断其所属年份是否为闰年

很早以前,写过一个函数,是获取二月份的天数。《T-SQL获取二月份天数》https://www.cnblogs.com/insus/archive/2011/04/22/2025019.html 其中这个函数内就此相关的判断: SET ANSI_NULLS ON GO SET QUOTED_IDEN ...

Insus.NET 发布于 2019-05-09 23:45 评论(0)阅读(87)
1

获取某一日期所在月份的第一天日期或最后一天日期

获取指定日期所属月份的第一天日期: SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- -- Author: Insus.NET -- Create date: 2019-05-09 -- Update date: 2019-05-09 -- De ...

Insus.NET 发布于 2019-05-09 22:53 评论(0)阅读(183)