随笔分类 - SQL
摘要:帕累托分析法是基于帕累托法则的一种分析法。 先来说说什么是帕累托法则,其原型是19世纪意大利经济学家帕累托所创的库存理论。帕累托运用大量的统计资料分析当时的一些社会现象,概括出一种关键的少数和次要的多数的理论,并根据统计数字画成排列图,后人把它称为帕累托曲线图。简单的说,帕累托法则其实就是我们常说的
阅读全文
摘要:一、多行转成一列(并以","隔开) 表名:A 表数据: 想要的查询结果: 查询语句: SELECT name , value = ( STUFF(( SELECT ',' + value FROM A WHERE name = Test.name FOR XML PATH('') ), 1, 1,
阅读全文
摘要:--【提取中文】IF OBJECT_ID('dbo.fun_getCN') IS NOT NULLDROP FUNCTION dbo.fun_getCNGOcreate function dbo.fun_getCN(@str varchar(4000))returns varchar(4000)as
阅读全文
摘要:select case when grouping(姓名)=1 then '合计' else cast(姓名 as varchar) end 姓名, case when grouping(学期)=1 and grouping(姓名)=0 then '姓名小计' else cast(学期 as var
阅读全文
摘要:CREATE TABLE #tb( lh VARCHAR(10)) INSERT INTO #tb SELECT '12-1-2202' union all SELECT '12-1-2301' union all SELECT '12-1-2302' union all SELECT '12-1-
阅读全文
摘要:1、left(name,4)截取左边的4个字符 列: SELECT LEFT(201809,4) 年 结果:2018 2、right(name,2)截取右边的2个字符 SELECT RIGHT(201809,2) 月份 结果:09 3、SUBSTRING(name,5,3) 截取name这个字段 从
阅读全文
摘要:1.查看执行时间和cpu占用时间 set statistics time on select * from dbo.Product set statistics time off 打开你查询之后的消息里面就能看到啦。 2.查看查询对I/0的操作情况 set statistics io on sele
阅读全文
摘要:-- Author: hehai-- Create date: 2015-11-19 11:01:01-- Description: 判定时间是否在时间区间范围内。-- CREATE FUNCTION fn_pdsj( @date DATETIME, -- 时间 @date_Range_min DA
阅读全文
摘要:定义和用法 DATEDIFF() 函数返回两个日期之间的时间。 语法 startdate 和 enddate 参数是合法的日期表达式。 datepart 参数可以是下列的值: 实例 例子 1 使用如下 SELECT 语句: SELECT DATEDIFF(day,'2008-12-29','2008
阅读全文
摘要:.net项目中有个模块做统计功能,原先方法速度很慢,所以需要改进 原先的处理方式是,这些数据分别涉及到四五张表,前台从数据库中查询出需要的数据集,然后分别遍历这些数据集拼接html字符串显示在界面上。 优化思考:由于前台需要多次调用数据库,试想把改功能封装成一个存储过程实现,前台负责传输参数,有存储
阅读全文
摘要:昨天select * from tb where datediff(day, 时间字段 ,getdate()) = 1今天select * from tb where datediff(day, 时间字段 ,getdate()) = 0本周select * from tb where datedif
阅读全文
摘要:直接用估计没有,可以定义一个函数转一下,MSSQL中有个stuff函数在指定位置替换或增加字符,比如:SELECT STUFF('12345678', 2, 3, 'abc')SELECT STUFF('12345678', 2, 0, ':')但只能插入一个位置。建议自定义一个字符串处理函数,然后
阅读全文
摘要:create function [dbo].[fn_getformatmoney] (@money numeric(14,2)) returns nvarchar(32) as begin declare @money_num nvarchar(20) --存储金额的字符形式 , @money_ch
阅读全文
摘要:本示例可从SQL Server数据库查得物料在最新采购日期的最小采购价格,即如果同一物料存在多条采购记录,首先取采购日期最大的,如果同一采购日期仍然存在多条记录,取采购价格最低的。(通过调整Order By也可实现其他需求,例如取最早日期或最高采购价格的记录) --创建临时表,插入测试数据 if O
阅读全文
摘要:1.利用临时表补足数据(HANA) 注:DUMMY 是虚表、临时表 2.新建一张表,表中只有一个字段,只有12行数据,即(1,2,3,4,5...12),然后左链接需要统计的数据表。3.利用Case When Else End 枚举:(月份显示在表名上)(SQL)
阅读全文
摘要:MERGE INTO 目标表 USING 数据源表 ON(0=1) 的用法
阅读全文
摘要:create table t( id int identity(1,1), name varchar(50),--商品名称 j int, --入库数量 c int, --出库数量 jdate datetime --入库时间 ) insert into t(name,j,c,jdate) select 'A',100,0,'2007-12-01' ins...
阅读全文
摘要:先过先出法在很多的企业都非常试用,而基于企业的管理能力与实际业务数据中的不完整性,会造成实际物料的出入库情况是无序的。而管理者需要看到一定期间的物料库龄,特别是对于A,B类物料的关注情况。这样就需要IT部门对这一部分进行模拟用算法进行推演。 给个例子供相关有需要的朋友参考 结果 if OBJECT_
阅读全文
摘要:错误提示: 消息 829,级别 21,状态 1,第 1 行 数据库 ID 15,页 (1:21826) 已标记为 RestorePending,可能表明磁盘已损坏。要从此状态恢复,请执行还原操作。 引起原因: RestorePending一般是在进行页恢复的过程中出现的,就是在进行了restore操
阅读全文
摘要:我想记录每个商品的点击量,然后按照点击量来牌名商品,想要提高效率,所以必须得用触发器,下面是本人在百度文库中的找到的学习资料,分享下给大家。 定义: 何为触发器?在SQL Server里面也就是对某一个表的一定的操作,触发某种条件,从而执行的一段程序。触发器是一个特殊的存储过程。 常见的触发器有三种
阅读全文