)) INSERT INTO @t SELECT 'AAA,BBB,CCC' SELECT * FROM @t ;WITH mycte AS ( ,mend,num FROM @t UNION ALL ,num FROM mycte WHERE mend<=LEN(sentence) ) ),,,'') sentence FROM mycte 如果由excel中直接复制过来的,可能在没一个项前会有换行符,替换方法为 replace  char(13) + char(10) 更简单的可以转换为xm…
利用递归分割(Split)字符串 SqlServer 递归 工作需要将表里的某个字段分割之后再插入到另一个表中,其实数据量不大,直接用游标一行一行的取,再利用循环来分割之后再实现数据的插入应该可以直接满足需求.但是,想到递归应该也可以实现需求,而且递归也不太熟,所以就以试试的心态来做一下,想不到既然实现了需要的效果. 初始化: --需要分割的结果集 SELECT * INTO #tmp_t1 FROM (VALUES('Morning,Midday,Evening,',1),('Breakfas…
  我们日常开发过程中,非常常见的一种需求,把某一个用逗号或者/或者其他符号作为间隔的字符串分隔成一张表数据. 在前面我们介绍了 [原创]SQL 把表中字段存储的逗号隔开内容转换成列表形式,当然按照这种方式转变一下也是可以实现的,但是我这里有以前我一直使用的另外一种方式,也记录一下吧. 依照惯例,我们首先来看看效果. 调用:SELECT Id FROM [Fn_StringSplitToTable]('1,12,36,65,58,56,DF',',') 具体函数如下: -- ==========…
WITH cte_name AS ( --Anchor member is defined ' UNION ALL --Recursive member is defined referencing cte_name select a.PCY_Name,a.PCY_ID,a.PCY_Parent, a.PCY_Code,a.PCY_Status from PB_Code_MaterType a inner join cte_name c on a.PCY_Parent=c.PCY_ID ) --…
CREATE FUNCTION [dbo].[Split](@separator VARCHAR(64)=',',@string NVARCHAR(MAX))  RETURNS @ResultTab TABLE (     Id    INT ,     Res     NVARCHAR(500)  ) AS BEGIN     DECLARE @Num INT     IF(@string IS NOT NULL AND @string <> '' AND LEN(@string)>0…
IF OBJECT_ID('tb') IS NOT NULL DROP TABLE tb ) , pid ) , name )) ' , null , '广东省') ' , '广州市') ' , '深圳市') ' , '天河区') ' , '罗湖区') ' , '福田区') ' , '宝安区') ' , '西乡镇') ' , '龙华镇') ' , '松岗镇') GO SELECT * FROM tb AS t ) --查询ID = '001'的所有子节点 ' ;WITH Temp AS ( SE…
sql判断以逗号分隔的字符串中是否包含某个字符串---------------https://blog.csdn.net/wttykj/article/details/78520933 MYSQL中利用select查询某字段中包含以逗号分隔的字符串的记录方法-----https://blog.csdn.net/diandian_520/article/details/38947625…
转自:http://www.maomao365.com/?p=10739 摘要: 下文讲述在sqlserver 对逗号分隔的字符串转换为数据表的另类方法实现,如下所示: 实验环境:sql server 2008 R2 实现思路: 将组合字符串中的逗号替换为“ 'as n union all select ' ”,然后将替换后的字符串加上select 和 前后加上单引号 是其成为可执行sql脚本, 最后运行替换后的字符串,就可以得到一张数据表,如下所示:  ) set @maomao365 ='s…
今天用到了sql的递归查询.递归查询是CTE语句with xx as(....)实现的. 假如表Category数据如下. 我们想查找机枪这个子分类极其层次关系(通过子节点,查询所有层级节点).以下是查询语句 WITH tt AS ( SELECT CategoryId,Name,Parent,0 level FROM dbo.Category WHERE CategoryId=15 --定位点成员 UNION ALL SELECT c.CategoryId,c.Name,c.Parent,tt…
转自:SQL查询结果列拼接成逗号分隔的字符串 背景:做SQL查询时会经常需要,把查询的结果拼接成一个字符串. 解决方法: 通过 group_concat 函数 拼接的结果很长,导致拼接结果显示不全,可以通过以下方法解决. 在每次查询前执行 SET SESSION group_concat_max_len = 10240; 或者SET GLOBAL group_concat_max_len = 10240; 使得查询结果值变大. 补充:SQL server 的 拼接SQL如下: select st…
本文出处:http://www.cnblogs.com/wy123/p/5960825.html 我们在做开发的时候,有时候会需要一些帮助数据,必须需要连续的数字,连续间隔的时间点,连续的季度日期等等常见很多人利用master库的spt_values系统表,这个当然没有问题 比如下面这个(没截完,结果是0-2047) 这样也可以使用,但是感觉不够灵活,一是不是随便一个账号都可以访问master数据库的,而是他这里面也只有这么一个连续的数字了,想要别的结果集就不太弄了,类似数据可以用公用表表达式C…
SQL实现递归及存储过程中In()参数传递解决方案   1.SQL递归 在SQL Server中,我们可以利用表表达式来实现递归算法,一般用于阻止机构的加载及相关性处理.   -->实现: 假设OrganiseUnit(组织机构表)中主要的三个字段为OrganiseUnitID(组织机构主键ID).ParentOrganiseUnitID(组织机构父ID).OrganiseName(组织机构名称) ? 1 2 3 4 5 6 7 [sql] with organise as  (select *…
需求:      sql语句中,判断以逗号分隔的字符串中是否包含某个特定字符串,类似于判断一个数组中是否包含某一个元素, 例如:判断 'a,b,c,d,e,f,g' 中是否包含 'a',sql语句如何实现? 解决   1.mysql 字符串函数判断:   FIND_IN_SET(ele, str) ele 是一个特定字符, str 是一个以逗号分隔的字符串 或者 匹配这个参数的字段,必须以逗号分隔 select * from t_user where FIND_IN_SET('26', '1,2…
CTE是如何进行递归的?产生递归的条件有三个,分别是 初始值 自身调用自身 结束递归的条件 1,示例代码 ;with cte as ( as jd union all as jd from cte ) select * from cte 查询结果如下 2,递归过程分析 2.1 初始值 select 1 as id, 1 as jd 提供初始值,CTE中的值只有这一个. 2.2 第一次递归调用 select id +1 as id ,jd+2 as jdfrom ctewhere id<10 在第…
逗号分隔的字符串转行数据的存储过程一个: CREATE OR REPLACE FUNCTION SP_YX_SPLIT ( p_list CLOB, p_sep VARCHAR2 := ',' ) RETURN tabletype PIPELINED /************************************** * Name: split * Author: zhaoqiang. * Date: 2014-10-03. * Function: 返回字符串被指定字符分割后的表类型…
-- 1.提取此类数据中的1的索引位置,从1开始    例: 0001100001100 --> 4,5,10,11 create or replace function hazq_instr_contains( v_str in varchar2)return varchar2is v_count number(10):=0; v_char varchar2(50):=null; strTmp varchar2(4000):=null; v_tm varchar2(50):=null; beg…
返回值为'1,2,3,4,5,6,7',是一个字符串,如果要用IN 查询的话sql认为这是一个完整的字符串,需要将内容分隔转换变成table 定义函数如下: create Function sysfStrToTable(@str varchar(1000)) Returns @tableName Table ( str2table varchar(50) ) As --该函数用于把一个用逗号分隔的多个数据字符串变成一个表的一列,例如字符串'1,2,3,4,5' 将变成一个表 Begin set…
逗号分隔的字符串转换为行数据(collection) CREATE OR REPLACE FUNCTION "GET_STR_TAB" (v_str in varchar2) return table_str pipelined as v_new_str ); begin if v_str is null then ); else v_new_str:),),''); loop then pipe row(to_number(v_new_str)); exit; else ,instr…
Recursive division method        Mazes can be created with recursive division, an algorithm which works as follows: Begin with the maze's space with no walls. Call this a chamber. Divide the chamber with a randomly positioned wall (or multiple walls)…
sql 树 递归 with SubQuery(No,Name,ParentNo) as ( ' union all select A.No,A.Name,A.ParentNo from [Port_Dept] A inner join SubQuery B on A.No = B.ParentNo ) select * from SubQuery…
首先我们建立一张带有逗号分隔的字符串. CREATE TABLE test(id int(6) NOT NULL AUTO_INCREMENT,PRIMARY KEY (id),pname VARCHAR(20) NOT NULL,pnum VARCHAR(50) NOT NULL); 然后插入带有逗号分隔的测试数据 INSERT INTO test(pname,pnum) VALUES('产品1','1,2,4'); INSERT INTO test(pname,pnum) VALUES('产…
8第八章CTE递归及分组汇总高级部分(多维数据集) 这里贴图太麻烦...算了 UNION 等集合操作符: UNION 等以第一个 SELECT  的 列明 作为 整个结果集的列明,整个结果集 唯一认可的 唯一逻辑处理阶段 是 ORDER BY  这个意思是说 只有 ORDER BY 是对整个结果集作用的,其它都操作都作用在 UINON 两侧的 子集合中. EXCEPT 操作符也是 提出了重复值的 此外,它认为两个 null 值是相等的, 而 NOT EXISTS 认为两个 null 值不相等,…
UNION 等集合操作符: UNION 等以第一个 SELECT  的 列明 作为 整个结果集的列明,整个结果集 唯一认可的 唯一逻辑处理阶段 是 ORDER BY  这个意思是说 只有 ORDER BY 是对整个结果集作用的,其它都操作都作用在 UINON 两侧的 子集合中. EXCEPT 操作符也是 提出了重复值的 此外,它认为两个 null 值是相等的, 而 NOT EXISTS 认为两个 null 值不相等, 集合操作符的 优先级是 INTERSECT 最大,其它都一样     CTE…
原文 SQL中采用Newtonsoft.Json处理json字符串 使用环境: SQL Server2005; VS2010; 关于SQL中部署CLR程序集的方法,网上一搜一大把,需要了解的自行查阅,呵呵. SQL中处理字符串实在是太弱了,连数组都不能处理,就更别说json字符串了,好吧,它不能处理,我就给它加个处理程序集(还好2005已经加入了这个功能). 首先对于CLR我也不太懂,而且到现在我也没搞懂怎么把一个dll注册到SQL,俺是直接用VS2010新建一个sql sever的数据库项目,…
--SQL中转换money类型数值转换为字符串问题,直接转换就转为两位了,所以需要做一下处理.具体请看下述sql实例. 1 create table #test(price money) insert into #test values (45.2525) )) from #test   --输出45.25 四位小数只有两位了 select convert(VARCHAR,price) from #test      --输出45.25  四位小数只有两位了 select convert(VAR…
将逗号分隔的字符串转换为List 方法 1: 利用JDK的Arrays类 [java] view plain copy   ico_fork.svg1.5 KB String str = "a,b,c"; List<String> result = Arrays.asList(str.split(",")); 方法 2: 利用Guava的Splitter [java] view plain copy   ico_fork.svg1.5 KB String…
将逗号分隔 的字符串转化成List List<String> parIdListTmp = new ArrayList<String>(); String parIdArray[] = parFenLeiIds.split(","); Collections.addAll(parIdListTmp, parIdArray);…
ArcGIS字段计算器分割字段中的字符串 实例:在一个字段中存有长宽高三个属性数据,以x分割.例如sss为字段名(字段属性为文本类型),数据格式为:100x200x300,利用字段计算器分别将三个数存入到对应的len.wid.hei.字段中. 用到VB脚本函数公式: 1.计算长度:Left( [field],InStr( [field],"x"  )-1 ) 2.计算宽度:Left(Mid( [field],InStr( [field],"x"  )+1 ),InS…
1.mysql判断表里面一个逗号分隔的字符串是否包含单个字符串 : FIND_IN_SET select * from tablename where FIND_IN_SET(传的参数,匹配字段) 例如: ',age) 2.查询结果用逗号分隔 : GROUP_CONCAT select GROUP_CONCAT(分隔字段,分隔符) from tablename 例如: select GROUP_CONCAT(name,',') from testtb…
<c:forEach>可以默认的把以逗号分隔的字符串作为一个集合来遍历…