SQL Server 2008 R2——以特定符号出现的次数来判断当前内容所在的层次
=================================版权声明=================================
版权声明:原创文章 禁止转载
请通过右侧公告中的“联系邮箱(wlsandwho@foxmail.com)”联系我
勿用于学术性引用。
勿用于商业出版、商业印刷、商业引用以及其他商业用途。
本文不定期修正完善。
本文链接:http://www.cnblogs.com/wlsandwho/p/4944971.html
耻辱墙:http://www.cnblogs.com/wlsandwho/p/4206472.html
=======================================================================
某天下午,本来想在QQ群里回答个问题,结果发现DBA们早早的就给出答案开始潇洒的聊天了。
自己却在隔了好久才能给出答案。感觉自己跟大神相差了6小时以及一个互联网。
欣慰的是,我的SQL可读性高一点点。(大家好我是旁白,刚才作者被阿Q和孔乙己灵魂附体……)鄙视垃圾爬虫网站,祝你们生孩子没屁眼。
=======================================================================
贴一下原始问题。
鄙视垃圾爬虫网站,祝你们生孩子没屁眼。

这个问题没有给主键或者ID之类的东西。层次标识符"["又是一个特殊符号,是不能够跟数据排序的。鄙视垃圾爬虫网站,祝你们生孩子没屁眼。
=======================================================================
下面上代码。鄙视垃圾爬虫网站,祝你们生孩子没屁眼。
-----------------------------------------------------------------------------------------
--禁止转载
--by 王林森 2015.11.07
--http://www.cnblogs.com/wlsandwho/p/4944971.html
----------------------------------------------------------------------------------------- USE tempdb
GO IF OBJECT_ID (N't_TestbyWLS', N'U') IS NOT NULL
DROP TABLE t_TestbyWLS;
GO CREATE TABLE t_TestbyWLS(SomeData NVARCHAR(10))
GO INSERT INTO t_TestbyWLS VALUES ('a')
INSERT INTO t_TestbyWLS VALUES ('b')
INSERT INTO t_TestbyWLS VALUES ('c')
INSERT INTO t_TestbyWLS VALUES ('[')
INSERT INTO t_TestbyWLS VALUES ('e')
INSERT INTO t_TestbyWLS VALUES ('f')
INSERT INTO t_TestbyWLS VALUES ('[')
INSERT INTO t_TestbyWLS VALUES ('g')
INSERT INTO t_TestbyWLS VALUES ('h')
INSERT INTO t_TestbyWLS VALUES ('i')
GO WITH TempSDId
AS
( SELECT SomeData,ROW_NUMBER() OVER( ORDER BY (SELECT NULL) ) AS SDId FROM dbo.t_Testbywls ),
TempIdPos
as
(SELECT sdid FROM TempSDId WHERE somedata='[')
SELECT SomeData ,1+(SELECT COUNT(*) FROM tempsdid WHERE sdid<=t.sdid AND somedata='[' ) AS TheLevel FROM tempsdid t
在CTE里设置了id,并获得了标识符的id。
select的子查询中,统计了不超过当前行id时,标识符出现的次数。
加1是因为从1开始计数。
下面是计划任务

=======================================================================
非专业SQL,不求高效,但求能跑。鄙视垃圾爬虫网站,祝你们生孩子没屁眼。
=======================================================================
20151109-01 考虑到版权之类的事情,网友提供的方法不便于贴到博文中,需要自行翻阅评论内容。
SQL Server 2008 R2——以特定符号出现的次数来判断当前内容所在的层次的更多相关文章
- SQL Server 2008 R2 Service Pack 3 已经发布
微软SQL Server Product Team在9月26号官方博客宣布,Microsoft SQL Server 2008 R2 Service Pack 3 (SP3)正式发布了 .具体信息可以 ...
- SQL Server 2000向SQL Server 2008 R2推送数据
[文章摘要]最近做的一个项目要获取存在于其他服务器的一些数据,为了安全起见,采用由其他“服务器”向我们服务器推送的方式实现.我们服务器使用的是SQL Server 2008 R2,其他“服务器”使用的 ...
- SQL Server 2008 R2的发布订阅配置实践
纸上得来终觉浅,绝知此事要躬行.搞技术尤其如此,看别人配置SQL SERVER的复制,发布-订阅.镜像.日志传送者方面的文章,感觉挺简单,好像轻轻松松的,但是当你自己去实践的时候,你会发现还真不是那么 ...
- 无法连接到SQL Server 2008 R2
服务器环境: 操作系统 名称: Microsoft Windows Server 2008 R2 Enterprise 版本: 6.1.7601 服务包: Ser ...
- SQL Server 2008 R2 的版本和组件
SQL Server 2008 R2 的版本和组件 SQL Server 2008 R2 其他版本 SQL Server 2008 SQL Server 2005 SQL Server 2012 ...
- 安装 SQL Server 2008 R2 的硬件和软件要求(转)
以下各部分列出了安装和运行 SQL Server 2008 R2 的最低硬件和软件要求.有关 SharePoint 集成模式下的 Analysis Services 的要求的详细信息,请参阅硬件和软件 ...
- SQL Server 2008 R2 跟踪标志
原文:SQL Server 2008 R2 跟踪标志 跟踪标志用于临时设置特定服务器的特征或关闭特定行为.例如,如果启动 SQL Server 的一个实例时设置了跟踪标志 3205,将禁用磁带机的硬件 ...
- SQL Server 2008 (R2) 单机版安装的先决条件
原文:SQL Server 2008 (R2) 单机版安装的先决条件 出自:http://blogs.msdn.com/b/apgcdsd/archive/2012/03/07/sql-server- ...
- SQL Server 2008 R2 性能计数器详细列表(三)
原文:SQL Server 2008 R2 性能计数器详细列表(三) SQL Server,Deprecated Features 对象: 监视指定为不推荐使用的功能: SQL Server Depr ...
随机推荐
- 使用AutoMapper进行对象间映射
在开发过程中,难免遇到下面这种情况:两个(或多个)对象所拥有的大多数属性是重复的,我们需要在对象间进行映射(即将一个对象的属性值赋给另一个对象.通常我们可以进行如下操作: A a=new A(); a ...
- RegQueryValueEx正确使用方法
项目中需要读取注册表中的HKEY_CLASSES_ROOT主键下一个子键的值,看了看MSDN的说明,有RegOpenKeyEx和RegQueryValueEx两个函数可以用.也没仔细阅读函数说明,就写 ...
- Effective java笔记(五),枚举和注解
30.用enum代替int常量 枚举类型是指由一组固定的常量组成合法值的类型.在java没有引入枚举类型前,表示枚举类型的常用方法是声明一组不同的int常量,每个类型成员一个常量,这种方法称作int枚 ...
- MS SQL Server中数据表、视图、函数/方法、存储过程是否存在判断及创建
前言 在操作数据库的时候经常会用到判断数据表.视图.函数/方法.存储过程是否存在,若存在,则需要删除后再重新创建.以下是MS SQL Server中的示例代码. 数据表(Table) 创建数据表的时候 ...
- jquery.uploadify上传文件配置详解(asp.net mvc)
页面源码: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" c ...
- Redis和Memcached整体
Redis和Memcached整体对比 Redis的作者Salvatore Sanfilippo曾经对这两种基于内存的数据存储系统进行过比较,总体来看还是比较客观的,现总结如下: 1)性能对比:由于R ...
- 【转】zigbee协议的多种profile
- C#中HashTable的用法
一,哈希表(Hashtable)简述 在.NET Framework中,Hashtable是System.Collections命名空间提供的一个容器,用于处理和表现类似keyvalue的键值对,其中 ...
- HTML5 Canvas眨眼睛动画
效果请看: http://keleyi.com/a/bjad/p9exlcwi.htm 请使用支持HTML5的浏览器查看效果. 以下是代码: <html> <body> < ...
- js自建方法库(持续更新)
1.得到一个数,在一个有序数组中应该排在的位置序号: function orderInArr(num,arr) { if(num > arr[0]){ return 1 + arguments. ...