
sql server
逍遥谷东方未明
略懂皮毛、略知一二、一知半解闯江湖!不求代码精湛,但求没有BUG!不求大富大贵,但求两餐温饱!
展开
-
sql server FOR XML PATH 字符串拼接
SELECT B.sName,LEFT(StuList,LEN(StuList)-1) as hobby FROM (SELECT sName,(SELECT hobby+',' FROM student WHERE sName=A.sName FOR XML PATH('')) AS StuListFROM student A GROUP BY sName) B原创 2015-10-17 00:58:16 · 667 阅读 · 0 评论 -
事务隔离级别原理详解
背景 当用户并发尝试访问同一数据的时,SQL Server尝试用锁来隔离不一致的数据和使用隔离级别查询数据时控制一致性(数据该如何读取),说起锁就会联想到事务,事务是一个工作单元,包括查询/更新数据和数据定义。锁锁类型在SQL Server中,根据资源的不同,锁分为以下三种类型: 行锁:是SQL Server中数据级别中粒度最小的锁级别,行锁根据表是否存在聚集索引,分为键值锁和标...原创 2018-03-01 17:47:39 · 2813 阅读 · 0 评论 -
SQLSERVER数据集合的交、并、差集运算(intersect,union,except)
熟练使用SQL Server中的各种用法会给查询带来很多方便。今天就介绍一下EXCEPT和INTERSECT。注意此语法仅在SQL Server 2005及以上版本支持。EXCEPT是指在第一个集合中存在,但是不存在于第二个集合中的数据。INTERSECT是指在两个集合中都存在的数据。测试如下:[c-sharp] view plain copy转载 2017-01-20 14:48:04 · 826 阅读 · 0 评论 -
再看case when 在row_number中的使用
SELECT tpbt.PMName, k.[ActivityName], k.[ActionerName], k.[Data],原创 2016-12-14 09:53:42 · 4527 阅读 · 0 评论 -
sql server 复制表结构
SELECT * INTO weixinmenutmpFROM WeiXin_MenuClickEvent AS wxmce WHERE 1=2 创建新表weixinmenutmp,并且将WeiXin_MenuClickEvent的表结构复制到winxinmenutmp表中原创 2016-02-18 14:18:24 · 1159 阅读 · 0 评论 -
sql server 使用 top WITH TIES
使用top 10 只查出来 前10条记录使用top 10 with ties 则将和前10条记录相同的 childorderid的记录全都查出来了原创 2016-02-16 10:53:18 · 1220 阅读 · 0 评论 -
sql server 使用ROLLUP完成合计的统计
在生成包含小记和合计的报表时,ROLLUP运算符很有用,ROLLUP运算符生成的结果集类似于CUBE运算符所生成的结果集.ROLLUP和CUBE的区别在于:1. cube生成的结果集显示了所选列的所有组合的聚合2. rollup生成的结果集显示了所选列中值的某一个层次结构的聚合示例:Sql:With rollup:select case when转载 2016-02-16 10:44:43 · 7308 阅读 · 0 评论 -
sql server 使用CUBE实现合计
CUBE运算符生成的结果集是多维数据集,多维数据集是事实数据的扩展,事实数据即记录个别时间的数据,扩展建立在用户准备分析的列上,这些列被称为维,多维数据集是一个结果集,其中包含各纬度所有可能的交叉表格.CUBE运算符是在Select语句的group by子句中指定的,group by应指定维度列和关键字with cube,结果集将包括维度列中各值的所有可能组合.示例1.Sq转载 2016-02-16 10:40:38 · 4716 阅读 · 0 评论 -
sql server 使用over 统计百分比
SELECTdsr.ChildOrderId,count(1) AS total,100 * count(1)/sum(count(1)) OVER() AS pct,sum(count(1)) OVER() AS Sumtotal,ROW_NUMBER() OVER (ORDER BY count(1) DESC ) AS rn FROM DX_SessionRecord AS原创 2016-02-16 10:32:31 · 3071 阅读 · 0 评论 -
sql server备份sql
以下sql对数据库进行备份backup DATABASE CallCenter to disk='\\wangyipeng-36\back\backup3.bak'原创 2016-01-13 17:38:26 · 511 阅读 · 0 评论 -
sql server 解决union all之后 order by失效的问题
注意关键点在TOP 99.999999 PERCENT SELECT * FROM ( SELECT TOP 99.999999 PERCENT t.CallDate, t.userid, t.GroupName, t.AgentNum, t.username,原创 2015-12-29 19:39:50 · 2237 阅读 · 0 评论 -
使用sqlcmd 命令执行sql 脚本
sqlcmd -S"127.0.0.1" -U"sa" -P"abcd1234!" -i"fincc.sql"原创 2015-11-04 11:46:22 · 1992 阅读 · 0 评论 -
sql server之索引的查询路径
索引是数据库优化的一个常用的工具,但是如果不知道索引的原理,使用不当的话,不近不会提高性能,反而会大大降低性能。本篇介绍索引的查询路径。原创 2015-10-20 19:59:50 · 458 阅读 · 0 评论 -
sql server 日期显示格式
本文讲述常见sql server 日期显示格式转载 2015-10-20 19:43:26 · 2039 阅读 · 0 评论 -
sql server 动态排序
在开发中经常遇到动态排序的问题,需要用户在前台选择根据某一列来排序,针对这种问题常见的解决方法是,在数据库查询的时候动态拼sql语句,但是这种方法太过于麻烦,以后维护、修改困难很大,切性能不高。个人推荐使用case when 动态排序。这样的话,代码简单易懂,好维护,且性能高。具体代码如下:原创 2015-10-16 14:39:30 · 3653 阅读 · 0 评论 -
sql server递归查询
使用with进行递归查询的办法原创 2015-10-16 15:34:47 · 402 阅读 · 0 评论 -
set RowCount 与 top n
set RowCount 可以起到与top n相同的效果,并且效率很高top n 不能使用变量,如果要使用变量的话,需要把变量提前赋值,并且用括号括起来如: declare @count1 int set @count1 = 8 select top (@count1) * from MyTableset rowcount 可以随意使用变量,比如: declare @count1 i原创 2015-10-16 14:34:05 · 1315 阅读 · 0 评论 -
sql server TIMESTAMP数据类型的使用
TIMESTAMP数据类型的作用TIMESTAMP数据类型的操作原创 2015-10-16 15:37:55 · 2394 阅读 · 1 评论 -
SQL Server - 使用 Merge 语句实现表数据之间的对比同步
SQL Server - 使用 Merge 语句实现表数据之间的对比同步2013-10-15 15:29 by BIWORK, 14268 阅读, 4 评论, 收藏, 编辑表数据之间的同步有很多种实现方式,比如删除然后重新 INSERT,或者写一些其它的分支条件判断再加以 INSERT 或者 UPDATE 等。在这里 "同步" 的意思是指每次执行一段代码的时候能够确保 A 表的数据和 B 表的数据...转载 2018-05-15 10:26:20 · 556 阅读 · 0 评论