文章分类 -  SQLServer

摘要:注意:基于 JS 中中文和英文、数字字符长度都是 1 //获取字符串长度(中文占2个字符) owner.getBytesCount = function(str) { var bytesCount = 0; if (str != null) { for (var i = 0; i < str.len 阅读全文
posted @ 2021-10-21 19:50 xust 阅读(1322) 评论(0) 推荐(0)
摘要:某天的工作是修复某个项目的bug,接着就发现,其sql极其混乱,有非常多的left join和in操作,还有嵌套查询(只有一个表的嵌套查询)。不知道看到过哪里的资料说,嵌套查询速度慢,于是我把全部嵌套查询都改成join的形式,嵌套查询里面的where条件,我都写到join...on后面去了。突然... 阅读全文
posted @ 2014-11-11 17:19 xust
摘要:-- 这种方式会有问题-- 结果:9.52000000000001SELECT CONVERT(FLOAT,151.250000)-CONVERT(FLOAT,141.730000)-- 下面这种方式才是正确的(推荐)-- 先相减,然后再转化-- 结果:9.52SELECT CONVERT(FLOA... 阅读全文
posted @ 2014-06-17 21:10 xust 阅读(353) 评论(0) 推荐(0)
摘要:可以用 ALL 或 ANY 关键字修改引入子查询的比较运算符。SOME 是与 ANY 等效的 ISO 标准。通过修改的比较运算符引入的子查询返回零个值或多个值的列表,并且可以包括 GROUP BY 或 HAVING 子句。这些子查询可以用 EXISTS 重新表述。以 > 比较运算符为例,>ALL 表... 阅读全文
posted @ 2014-06-09 13:20 xust 阅读(337) 评论(0) 推荐(0)
摘要:一.本文所涉及的内容(Contents)本文所涉及的内容(Contents)背景(Contexts)架构原理(Architecture)测试环境(Environment)安装Moebius(Install)Moebius测试(Testing)负载均衡测试(Load Balancing Testing)高可用性测试(Failover Testing)数据安全性测试(Security Testing)总结(Summary)二.背景(Contexts) 前几天在SQL Server MVP宋大侠(宋沄剑)的一篇文章"数据库集群技术漫谈”中看到了格瑞趋势在SQL Server上的负载均衡产品 阅读全文
posted @ 2014-04-04 16:37 xust 阅读(255) 评论(0) 推荐(0)
摘要:--业务说明:查询关键字在各个SEO 平台下的排名,并统计单个词在某段时间内在第一页、第二页、第三页、第四页的展示的总天数--sql 说明:按字段值统计表中的数据select distinct e.KeywordId,e.Word,e.[Rank],e.SEOType,e.CompanyName,(select count(*) from Bus_KeywordTime dwhere d.pageindex='第1页'and d.keywordId=e.keywordIdand d.seoType=e.seoType) FirstPage,(select count(*) fr 阅读全文
posted @ 2014-03-05 16:50 xust 阅读(138) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2013-11-05 11:51 xust 阅读(109) 评论(0) 推荐(0)
摘要:对表中数据分组,有时只需要某列的聚合值;有时却需要返回整行数据,常用的方法有:子查询、ROW_NUMBER、APPLY,总体感觉还是ROW_NUMBER比较直观。测试数据:if OBJECT_ID('testGroup') is not nulldrop table testGroupGOcreate table testGroup(ID int identity primary key,UserID int,OrderID int) GOinsert testGroup select 1,10 union allselect 1,20 union allselect 1,30 阅读全文
posted @ 2013-11-05 11:43 xust 阅读(257) 评论(0) 推荐(0)
摘要:首先声明一下如果您还不了解什么是Cache(缓存)请您先搜一下有关信息然后再看这篇文章。当数据库中的信息发生变化的时候,应用程序能够获取变化的通知是缓存依赖得以实现的基础。应用程序可以通过两种途径获取数据变化的信息: 1. 数据库通知 当数据库中的信息发生变化的时候,数据库会主动通知Framework或者说通知应用程序。 2. 轮询(今天的重点) 数据库不能通知的时候,应用程序可以主动定期访问数据库(在配置文件中可以配置间隔多长时间访问一次),检查数据是否发生变化。 第一种 数据库通知是最理想的方式,但是许多数据库都不支持这个方法,SQL server 2005 + 的版本支持这个方法,如.. 阅读全文
posted @ 2013-09-04 22:47 xust 阅读(300) 评论(0) 推荐(0)
摘要:最近做一个项目,遇到一个在分组的情况下,将某一列的字段值(varchar类型)连接起来的问题,类似于sum函数对int型字段值求和。 如有一个表t_table,结构和数据如图1 图1 其中要按着xh字段分组,并且将每一组name字段值连接起来。最终结果希望如图2所示 图2表中的th字段值对于每一个xh值是唯一的,也是有限的,也就是说,对于一个xh值,th的值不会太多,如最多是10个(从1至10)。以上需求最终想了三种方法来解决这个问题。一、修改表结构如果是新的项目,可以考虑修改一下表的结构。如果t_table的结构修改如下: xh value1value2value3 value4 .... 阅读全文
posted @ 2013-08-25 22:50 xust 阅读(170) 评论(0) 推荐(0)
摘要:USE [PGCRM]GO/****** Object: StoredProcedure [dbo].[SupesoftPage] Script Date: 03/29/2013 12:15:26 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGO/********************************************************************************** Copyright (C) 2005 141421.com,All Rights Reserved ... 阅读全文
posted @ 2013-03-29 12:23 xust 阅读(199) 评论(0) 推荐(0)
摘要:select * from ( select ROW_NUMBER() OVER(order by SUM(HavePayAmount) desc) AS rowNum, CustomerID,CustomerName,SUM(Amount) sumContractAmount, SUM(HavePayAmount) sumHavePayAmount from #tmpTable where (ContractDate >= '2012-04-01' and ContractDate ... 阅读全文
posted @ 2013-03-06 15:40 xust 阅读(339) 评论(0) 推荐(0)
摘要:USE [CZJXC]GO/****** Object: Trigger [dbo].[tg_StgImpOrderWriteoffVersion] Script Date: 04/24/2012 10:53:18 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGO-- =============================================-- Author: By template generator-- Create date: 2012-4-24-- Description: 仓库: 入... 阅读全文
posted @ 2013-01-25 16:48 xust 阅读(131) 评论(0) 推荐(0)
摘要:工作原理: after--执行sql之后触发触发器before(instead of)--执行sql之前触发触发器After触发器的工作原理:After触发器是在SQL语句执行之后才被激活的。以删除记录为例:当SQL Server接收到一条删除操作的SQL语句时,SQL Server先将要删除的记录存放在Deleted表里,然后把数据表里的记录删除,再激活After触发器,执行After触发器里的SQL语句。执行完毕之后, 删除内存中的Deleted表,操作结束。还是举上面的例子:在产品库存表里,如果要删除一条产品记录,在删除的时候,触发器可以检查该产品库存数量是否为零,如果不为零则取消删除操 阅读全文
posted @ 2013-01-25 16:45 xust 阅读(2874) 评论(0) 推荐(0)
摘要:--临时表接受执行存储过程返回的结果集 CREATE TABLE #VersionTable( [Index] int PRIMARY KEY, Name varchar(30), Internal_Value int, Character_Value varchar(250) ) TRUNCATE TABLE #VersionTable INSERT INTO #VersionTable EXEC master..xp_msver select * from #VersionTable --表... 阅读全文
posted @ 2013-01-25 16:45 xust 阅读(283) 评论(0) 推荐(0)
摘要:在SQL 触发器内部把 SELECT 的结果集查出来 或者是打印出 SQL语句 阅读全文
posted @ 2013-01-25 16:44 xust 阅读(141) 评论(0) 推荐(0)
摘要:--把不同结果集合并select --a.docno adocno,--b.docno bdocno,CASE WHEN a.docNo IS NULL THEN b.docNo ELSE a.docNo END docNo,CASE WHEN a.msg IS NULL THEN '' ELSE a.msg END msg1,CASE WHEN b.msg IS NULL THEN '' ELSE b.msg END msg2from ( select docNo,'当前单据已被入库单调用,不允许回退!' as msg from dbo.ACN 阅读全文
posted @ 2013-01-25 16:43 xust 阅读(155) 评论(0) 推荐(0)
摘要:select a.* from SYS_Account awhere a.id not in ( select pId from SYS_Account where isDel = 0 and id <> '-1000' --null)and isDel = 0 and id <> '-1000' 阅读全文
posted @ 2013-01-25 16:42 xust 阅读(200) 评论(0) 推荐(0)
摘要:--比较下面两段sql 执行效率select * from DC_Keyword where nick='绿鸽鞋类专营店' and campaign_id=6852747and adgroup_id=160206338 and keyword_id is not null and data_time in (select MAX(data_time) from DC_Keyword where nick='绿鸽鞋类专营店')--特别是当用到子查询的时候,在子查询语句中 where 条件尽可能多 查询效率越快select * from DC_Keyword whe 阅读全文
posted @ 2013-01-22 16:23 xust 阅读(151) 评论(0) 推荐(0)
摘要:update DC_Keyword set wordStatus='已启用'where word = '类目出价' and wordStatus=''select a.data_time,a.campaign_id,a.adgroup_id,a.nick,b.word,b.wordStatus,--a.isUseCategoryPrice,case b.wordStatus when '未启用' then 0else 1 end NewIsUseCategoryPriceINTO #TEMP111from DC_ADGroup a 阅读全文
posted @ 2013-01-21 14:22 xust 阅读(2359) 评论(0) 推荐(0)