
sql server
ChinaLzw
#很少有人会主动接受自己的“输”,因为对大多数人来讲,“输”就等于失败。#
展开
-
Step By Step 一步一步写网站[1] —— 帧间压缩,表单控件
记得在大学的时候,学习多媒体遇到了一个概念:帧内压缩和帧间压缩。我感觉我的第一篇里里面提到的我的那个方法有一点像帧间压缩,那么是不是把代码减少到极致了呢?单看一个表的添加代码好像是,但是一个项目可不是只有一个添加的页面就完事了,项目越大,添加的页面也就越多,每个页面都写这么多的代码,依然很烦。那么怎么办呢?许多人想到了代码生成器。是的,代码生成器可以减少我们的劳动,但是不能减少代码!相反,由于使用了代码生成器,限制了我们的想象力,让我们居于现状,认为这么多的代码是正常的,是不可避免的,反正有代码生成器转载 2022-03-25 10:49:58 · 179 阅读 · 0 评论 -
SQLServer 发送HTTP请求
配置Ole Automation Procedures--开启 Ole Automation Proceduressp_configure 'show advanced options', 1;GORECONFIGURE;GOsp_configure 'Ole Automation Procedures', 1;GORECONFIGURE;GOEXEC sp_configure 'Ole Automation Procedures';GO--关闭 Ole Automatio.原创 2022-02-16 20:48:57 · 1229 阅读 · 3 评论 -
SQL Server 结果转JSON存储过程
SQL Server 结果转JSON存储过程原创 2022-02-16 16:59:10 · 1284 阅读 · 0 评论 -
SQLServer tempdb 数据库文件迁移到D盘
查询tempdb数据库文件存放目录,默认存放C盘select name,physical_name from sys.master_files where database_id=db_id('tempdb')迁移数据库到D:\mssqldb目录的SQL(不需要停服务、分离数据库等操作)USE masterGOALTER DATABASE tempdb MODIFY FILE (NAME= tempdev , FILENAME= 'D:\mssqldb\tempdb.mdf')A.原创 2021-12-02 00:43:04 · 2191 阅读 · 0 评论 -
如何从SQL Server中的EAV表创建JSON
如果你有一个简单的表,如:Id Name Age 1 Saeed 32 2 John 28 3 David 34然后,您可以在SQL Server中使用For XML创建JSON,如下所示:select '{ name : "' + Name + '", age : ' + age + ' }'from Peoplewhere Id = 1for xml path('')这很容易,因为预先知道列.但是,我坚持从EAV表创建JSON.例如,如果..转载 2021-01-13 13:58:03 · 242 阅读 · 0 评论 -
行转列,列转行
行转列,列转行是我们在开发过程中经常碰到的问题。行转列一般通过CASE WHEN 语句来实现,也可以通过 SQL SERVER 2005 新增的运算符PIVOT来实现。用传统的方法,比较好理解。层次清晰,而且比较习惯。 但是PIVOT 、UNPIVOT提供的语法比一系列复杂的SELECT...CASE 语句中所指定的语法更简单、更具可读性。下面我们通过几个简单的例子来介绍一下列转行、行转列问题。我们首先先通过一个老生常谈的例子,学生成绩表(下面简化了些)来形象了解下行转列CREATE TABL.转载 2021-01-13 13:45:38 · 1822 阅读 · 0 评论 -
SQL 生成流水号(自动补零)
--年份+流水号: 20200001DECLARE @code INT=123,@year VARCHAR(50)=CAST(YEAR(GETDATE()) AS VARCHAR(50))--SELECT @year--SELECT RIGHT('0000'+CAST(@code AS VARCHAR(50)),4)--SELECT @year+ RIGHT('0000'+CAST(@code AS VARCHAR(50)),4)--SELECT @year+ CAST(@code AS VA..原创 2020-11-29 11:42:15 · 1602 阅读 · 0 评论 -
SQL SERVER 查询今天,本周,本月度,本季度,半年度,本年度的数据SQL
--1今天SELECT * FROM TABLENAME DATEDIFF(DAY,'2020-5-29 15:53:36',getdate())=0--2本周SELECT * FROM TABLENAME DATEDIFF(WEEK,'2020-5-29 15:53:36',getdate())=0--3本月度SELECT * FROM TABLENAME DATEDIFF(MONTH,'2020-5-29 15:53:36',getdate())=0--4本季度SELECT * F.原创 2020-05-29 15:56:45 · 2232 阅读 · 0 评论 -
SQLSERVER GROUP BY查询最大一条,并关联当前行其它列
/*8月 A账户 余额 2017-08-078月 A账户 余额 2017-08-108月 A账户 余额 2017-08-128月 B账户 余额 2017-08-078月 B账户 余额 2017-08-208月 B账户 余额 2017-08-30结果 8月 A账户 余额 2017-08-128月 B账户 余额 2017-08-30*/;WI原创 2017-09-25 16:49:07 · 3614 阅读 · 0 评论 -
SQLSERVER 从大到小递减算法
生成算法公式:@incomeAmount*16%-@incomeAmount*8%-@incomeAmount*5%说明:按Level从大到小递减;@incomeAmount为自定义系数,默认20.8结果:20.8*16*0.01-20.8*-8*0.01-20.8*-5*0.01DECLARE @incomeAmount FLOAT=20.8;WITH dt AS( SELECT L原创 2017-11-17 14:40:50 · 2149 阅读 · 0 评论 -
SQLSERVER 高效率分页存储过程
IF OBJECT_ID('[usp_Common_Sel_TableData]') IS NOT NULLBEGIN DROP PROCEDURE [dbo].[usp_Common_Sel_TableData]ENDGO/*declare @PageCount int,@RecordCount intexec [usp_Common_Sel_TableData] @Tabl原创 2017-11-21 14:09:20 · 378 阅读 · 0 评论 -
mysql 按日、周、月、年统计sql语句整理,实现报表统计可视化
最近在做报表统计,前端可视化插件用的是Echarts,个人认为是目前免费插件里的翘楚http://echarts.baidu.com/demo.html#pie-doughnut例子演示现在重点如何把后台数据源搞定,我采用的是mybatis,所以重点是怎么把sql语句写好。– –按日 SELECT COUNT(*),DATE(...转载 2018-05-23 21:47:51 · 2022 阅读 · 0 评论 -
SQLSERVER行转列的2种实现方式
IF(OBJECT_ID('tbl_bigcode_pivot') IS NOT NULL)BEGINDROP TABLE dbo.tbl_bigcode_pivotENDGOCREATE TABLE tbl_bigcode_pivot( [像素编号] INT, [波段] INT, [像素值] FLOAT)INSERT INTO tbl_bigcode_pivotSEL原创 2017-09-16 21:58:57 · 3149 阅读 · 0 评论 -
SQLSERVER 得到EXEC返回值
CREATE TABLE #dtCartCount(CartItemCount INT)INSERT INTO #dtCartCount(CartItemCount)EXEC('SELECT COUNT(*) FROM tbl_SoleHome_CartItem WHERE ItemID IN(1,2)')SELECT CartItemCount FROM #dtCartCount原创 2017-08-30 11:53:32 · 5228 阅读 · 0 评论 -
SQLSERVER 拆分拼接字符串,WHILE循环输出
DECLARE @Items VARCHAR(1000)='148,149,150,151'DECLARE @ItemIndex INT=CHARINDEX(',',@Items)WHILE(@ItemIndex>0)BEGIN PRINT LEFT(@Items,@ItemIndex-1) SET @Items=RIGHT(@Items,LEN(@Items)-@ItemIndex)原创 2017-08-30 09:31:42 · 4986 阅读 · 0 评论 -
SQLSERVER 存储过程分页算法
declare @StartRow int,@EndRow int,@PageIndex int=5,@PageSize int=10set @StartRow=(@PageIndex-1)*@PageSize+1set @EndRow=(@PageIndex-1)*@PageSize+@PageSizeselect @StartRow,@EndRow原创 2017-08-15 09:52:56 · 331 阅读 · 0 评论 -
SQLSERVER 游标使用简单示例
原理:如下图所示,MenuID为游标处理集合,指针每次往下移动一个格子,6条数据就会执行移动6次需求:现菜单表tbl_Admin_Menu中的排序SeqNumber是乱的,我们需要将排序从1开始重新排序实现:--游标更新顶级菜单排序declare @this_menuid int,@seqnumber int=1 --定义参数@this_menuid,用于记录当前指标指向的原创 2017-07-26 14:20:18 · 4991 阅读 · 0 评论 -
SQLSERVER 递归查询
DECLARE @MenuID INT=10--递归菜单ID=10的所有父级/子级节点,包含自己;WITH dtMenuNodes AS(SELECT * FROM dbo.tbl_SoleHome_Menu WHERE MenuID=@MenuIDUNION ALL--SELECT a.* FROM tbl_SoleHome_Menu a,dtMenuNodes WHERE a.Pa原创 2017-08-10 14:11:32 · 345 阅读 · 0 评论 -
SQLSERVER 游标语法及使用说明
--临时测试表CREATE TABLE #temp( id INT,name VARCHAR(100))GO--测试数据INSERT INTO #tempSELECT 1,'xiaoming'UNION ALLSELECT 2,'wangsan'UNION ALLSELECT 3,'lisi'UNION ALLSELECT 4,'liming'GO--SET NO原创 2017-08-09 09:30:25 · 824 阅读 · 0 评论 -
SQLSERVER无排序生成序号
--实现方式:ROW_NUMBER()SELECT RowID=(ROW_NUMBER() OVER(ORDER BY(SELECT 0))) FROM dbo.tbl_name--实现方式:IDENTITYSELECT RowID=IDENTITY(INT,1,1) INTO #tb1 FROM dbo.tbl_nameSELECT * FROM #tb1DROP TABLE #tb原创 2018-02-01 12:34:46 · 6163 阅读 · 0 评论 -
SQL Server 动态行转列(参数化表名、分组列、行转列字段、字段值)
实现代码(SQL Codes)方法一:使用拼接SQL,静态列字段;方法二:使用拼接SQL,动态列字段;方法三:使用PIVOT关系运算符,静态列字段;方法四:使用PIVOT关系运算符,动态列字段; 二.背景(Contexts)其实行转列并不是一个什么新鲜的话题了,甚至已经被大家说到烂了,网上的很多例子多多少少都有些问题,所以我希望能让大家快速的看到执行的效果,所以在动态列的基础上再把表、分组字段、行...转载 2018-03-30 08:35:04 · 241 阅读 · 0 评论 -
SQL Server 2005中的分区表 如何添加、查询、修改分区表中的数据
转自http://blog.youkuaiyun.com/smallfools/archive/2009/12/03/4932936.aspx在创建完分区表后,可以向分区表中直接插入数据,而不用去管它这些数据放在哪个物理上的数据表中。接上篇文章,我们在创建好的分区表中插入几条数据: 从以上代码中可以看出,我们一共在数据表中插入了13条数据,其中第1至3条数据是插入到第1个物理分转载 2015-03-12 10:04:40 · 592 阅读 · 0 评论 -
SQL SERVER 使用while替代CTE递归,推算无限子级(示例)
与你分享学习成果,提供私人资源全免积分下载(优快云已不支持免积分)。本博主资源已共享QQ群799473954------------------------------------------------------------------------------------------------------------ 测试数据 --------------------...原创 2019-06-06 11:07:00 · 720 阅读 · 0 评论 -
SQL语句:如何截取指定字段某一个字符的前面/后面的字符串?
假设数据库中,某一列数据像这样,每个数据都有同一个字符“-”,这时如果我们需要获取这个字符的前面的字符串或后面的字符串,应该用什么SQL语句呢? 1 SUBSTRING ( expression, start, length ) --SUBSTRING('列名',起始位数,要取的字符串长度) 1.获取“-”前...转载 2019-04-25 15:37:29 · 33594 阅读 · 2 评论 -
SQLServer SubString函数碰到[传递给 LEFT 或 SUBSTRING 函数的长度参数无效]错误的解决方法
看错误的字面意思就清楚,一般是substring的length长度有错误。例如:select top 10 SUBSTRING (c_dept , 1 ,CHARINDEX (',' , c_dept)-1) from ##dd_daily要截取c_dept字段中第一个逗号前面的字符串,如果字段里面没有逗号,substring就会出错。可以加入case判断就不会出错。select ...转载 2019-04-25 15:36:32 · 8752 阅读 · 0 评论 -
SQL统计每月每天不同时间段预约次数
--生成2018-01-01至2028-01-01的日期临时表#dt_month--实际应用中,建议创建成一个日期表,可减少每次调用生成临时表的性能损耗create table #dt_month(yyrq varchar(10),[year] int,[month] int,[day] int)declare @thisdate varchar(10),@enddate ...原创 2018-11-08 11:26:40 · 2937 阅读 · 0 评论 -
SQLServer2008设置 开启INTERNET远程连接
SQLServer2008 设置 开启 INTERNET 远程连接SQL Server 2008默认是不允许远程连接的,sa帐户默认禁用的,如果想要在本地用SSMS连接远程服务器上的SQL Server 2008,需要做两个部分的配置:使用sa账户登录SQL Server Management Studio(简写SSMS) 如果安装时,不是使用SQL...转载 2018-07-07 12:05:58 · 2875 阅读 · 0 评论 -
SQLSERVER 查询本周一至周日数据
DECLARE @ThisWeekStartTime NVARCHAR(100),@ThisWeekEndTime NVARCHAR(100)--本周SELECT @ThisWeekStartTime= CONVERT(nvarchar(10), DATEADD(wk, DATEDIFF(wk,0,DATEADD(dd, -1, getdate()) ), 0),121)--本周开始时间SE...原创 2018-06-10 17:50:24 · 6541 阅读 · 1 评论 -
SQLSERVER 查询今天、昨天、本周、上周、本月、上月数据
在做Sql Server开发的时候有时需要获取表中今天、昨天、本周、上周、本月、上月等数据,这时候就需要使用DATEDIFF()函数及GetDate()函数了。DATEDIFF ( datepart , startdate , enddate )释义:计算时间差datepare值:year | quarter | month | week | day | hour | minute | se...转载 2018-05-23 21:47:09 · 11433 阅读 · 12 评论 -
SQLSERVER 统计今天、本周、本月数据
eg:selectasset_info_src_cd,count(*) from asset wheredatediff(week,asset_setup_dt,getdate())=0group by asset_info_src_cdeg:select asset_info_src_cd,count (asset_info_src_cd) from asset where d...转载 2018-05-23 21:46:05 · 6941 阅读 · 1 评论 -
动软代码生成器 常用函数
动软代码生成器在自动化生成.Net代码方面功能非常强大。在实际使用中,我也经常使用它的自定义模板功能,生成Js、html、php、java等代码。其模板里的函数与.net函数并不完全一致,现把模板常用代码写在这里,以方便查询使用。实际使用中每个项目要按自己框架情况进行定义。<#@ template language="c#" HostSpecific="True" #><#@...转载 2018-05-16 08:35:35 · 964 阅读 · 0 评论 -
SQL Server特殊字符、上标、下标
转自:http://www.2cto.com/database/201308/235481.htmlSQL Server特殊字符、上标、下标 先来记录下今天看到的一个比较好玩的东西,之前有见过一次,今天逛论坛的时候又发现了(特殊字符的输入方法):[sql] --ALT+小键盘0153=™ --ALT+小键盘0169=© --ALT+小键盘0174=® --ALT+小键转载 2017-04-15 17:01:34 · 4828 阅读 · 0 评论 -
SQL SERVER 筛选时区分大小写的语法
Demo:--SELECT * FROM 表名 WHERE 列名 COLLATE Chinese_PRC_CS_AS ='筛选字符' --SELECT * FROM 表名 WHERE 列名 COLLATE Chinese_PRC_CS_AS like '%筛选字符%' --SELECT * FROM 表名 WHERE 列名 COLLATE Chinese_PRC_CS_AS in('原创 2017-04-06 17:27:38 · 6470 阅读 · 0 评论 -
SQL字符串,根据逗号拆成多条记录
–select * from dbo.[fn_get_1](‘12,12,12|as,adsf,df|’)CREATE FUNCTION [dbo].[fn_get_1](@str varchar(8000)) returns @tb table(ids int,col varchar(5000)) as begin if (right(@str,1)!=’|’) begi原创 2015-05-06 09:11:15 · 5320 阅读 · 0 评论 -
SQL Server优化50法
查询速度慢的原因很多,常见如下几种: 1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2、I/O吞吐量小,形成了瓶颈效应。 3、没有创建计算列导致查询不优化。 4、内存不足 5、网络速度慢 6、查询出的数据量过大(可以采用多次查询,其他的方法降低数据量) 7、锁或者死锁(这也是查询慢最常见的问题,是程序转载 2015-05-12 14:42:41 · 428 阅读 · 0 评论 -
SQL统计构成组合数、未构成组合数
/*先通过此段简述来了解下大概的处理过程一支钢笔组成所需零件和数量:2 钢笔V1-笔帽,1 钢笔V1-笔盖,1 钢笔V1-笔芯,1 钢笔V1-笔头现有零件:4 钢笔V1-笔帽,2 钢笔V1-笔盖,3 钢笔V1-笔芯,2 钢笔V1-笔头,1 水笔V1-笔头,1 笔油,2 贴纸问1:现有零件可以组成多少支钢笔?计算公式:现有零件数量/所需零件数量=Count 答案:最小一组的Count钢笔V1-笔原创 2015-04-28 17:27:34 · 711 阅读 · 0 评论 -
SQLSERVER 函数,如果字符不够位数,则在前边自动补上指定的字符
需求:tj开头后边为9位数字,如果输入值不够9位,则自动补全。 生成编号如下: 输入1,返回结果 tj0000000001 输入20,返回结果 tj0000000020 输入9000000100 ,返回结果 tj9000000100 select dbo.fn_GetSuiteNum as SuiteNum –标量值函数-自动生成套件编号 CREATE FUNCTION fn_GetSu原创 2015-04-17 12:49:25 · 3879 阅读 · 2 评论 -
SQL删除表名包含指定字符的所有表
CREATE PROCEDURE dbo.PROC_DELTABLE AS DECLARE @TABLENAME AS NVARCHAR(128) DECLARE cur_del CURSOR FOR –以下有3种不同的筛选方式,反注释即可使用–删除表名以KCPD开头的所有表:’KCPD%’ select name from sysobjects where type=’U’ and n原创 2015-04-14 10:10:34 · 4294 阅读 · 1 评论 -
SQL 根据指定字符截取字符串Split函数
QQ:285679784 欢迎加入技术交流QQ群80669150 (附加信息:珠海 -"Lzw )一起学习 !CREATE FUNCTION Split(@inputStr nvarchar(800),@logo nvarchar(800))returns nvarchar(800)ASBEGIN--set @inputStr='klsjaff_sdfla_sdfla'--select CHA原创 2015-04-02 09:46:49 · 5546 阅读 · 0 评论 -
SQL SERVER 2005如何建立自动备份的维护计划
转自 http://blog.163.com/expertwk@126/blog/static/1421185072010328925046/SQL Server 2005中可以使用维护计划来为数据库自动备份,减少数据库管理员的工作负担。其使用方法如下:(1)启动【sql server Management Studio】,在【对象资源管理器】窗口里选择【数据库实例】à转载 2015-03-12 14:11:03 · 507 阅读 · 0 评论