摘要: 之前讲过了根据特定字符把字符串拆分成一列的方法 apply用法(2)——字符串拆分转列 今天再介绍一个“逆运算”,将组内若干列字符串按照特定字符组合到一个字段上。本例中消费者 client 就是组成员,每个client 的组内成员为 gift 和 buydate,要实现的效果是组成员占一行,组内成员 阅读全文
posted @ 2020-08-14 16:11 大威1030 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 介绍一种apply更有意思的用法。 table TT 表结构如下 client gift 1000 礼品A,礼品B,礼品C, 1200 礼品A,礼品D, 1500 礼品C, ... ... 发现这种表结构对于统计消费者整体的礼品偏好十分不友好。理想的表结构应该是这样的: client gift 10 阅读全文
posted @ 2020-08-14 09:00 大威1030 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 创建表值函数 create Function [dbo].[Text_Split](@Sql Nvarchar(max),@Splits varchar(20)) returns @Temp_table Table (spilts varchar(500)) As Begin if @Sql='' 阅读全文
posted @ 2020-08-13 22:06 大威1030 阅读(106) 评论(0) 推荐(0) 编辑
摘要: apply包含 cross apply(对应inner join)和outer apply (对应 left join) 拿实例说明用法和性能比较 apply 两种用法语法上相同下面仅用cross apply 举例 TableA (id,buydate,client,gift,num ) id 自增 阅读全文
posted @ 2020-08-10 15:40 大威1030 阅读(297) 评论(0) 推荐(0) 编辑
摘要: 递归在获取上下级所有信息中使用很方便; 给定一个tableA (id ,name,superid) superid是id的上级,superid同时也是table表中的id,id又会有superid上级,类推。另外table中会有一个最高(低)级的id,在之上(下)没有更高的superid。这种结构的 阅读全文
posted @ 2020-07-30 13:36 大威1030 阅读(536) 评论(0) 推荐(0) 编辑
摘要: --察看堵塞任务 blocking_session_id 为null表示没有堵塞 SELECT blocking_session_id 堵塞等待任务的id, session_id 等待任务id, wait_duration_ms/1000 --堵塞时间(s) FROM sys.dm_os_waiti 阅读全文
posted @ 2020-07-22 11:40 大威1030 阅读(999) 评论(0) 推荐(0) 编辑
摘要: create function uf_findx (@text nvarchar(max),@find_x varchar(200),@find_n int)returns intasbegin --第n位无效参数返回0 if @find_n<1 return (0); --字符串不含指定字符串返回 阅读全文
posted @ 2020-07-19 20:11 大威1030 阅读(1508) 评论(0) 推荐(0) 编辑
摘要: merge集插入,更新,删除于一体,如果要对一个表同时进行插入,更新,删除2个或3三个操作。效率要高于单个操作。 merge into tableb b --被操作表using (select id,servicepromotor,servicecmclient from tablea where 阅读全文
posted @ 2019-11-12 14:58 大威1030 阅读(503) 评论(0) 推荐(0) 编辑