分拆列值

2023-11-08 03:38
文章标签 分拆 列值

本文主要是介绍分拆列值,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

分拆列值

有表tb, 如下:
id          value
----------- -----------
1          aa,bb
2          aaa,bbb,ccc
欲按id,分拆value列, 分拆后结果如下:
id          value
----------- --------
1          aa
1          bb
2          aaa
2          bbb
2          ccc

1. 旧的解决方法(sql server 2000)
 
select a.id, substring(a.[value], b.number, charindex(',', a.[value] + ',', b.number) - b.number)
FROM tb a, master..spt_values  b
WHERE b.type='p' and substring(',' + a.[value],b.number, 1) = ','


2. 新的解决方法(sql server 2005)

create table tb(id int,value varchar(30))
insert into tb values(1,'aa,bb')
insert into tb values(2,'aaa,bbb,ccc')
go
SELECT a.id, b.value
FROM(
    SELECT id, [value] = CONVERT(xml,' <root> <v>' + REPLaCE([value], ',', ' </v> <v>') + ' </v> </root>') FROM tb
)a
OUTER aPPLY(
    SELECT value = N.v.value('.', 'varchar(100)') FROM a.[value].nodes('/root/v') N(v)
)b

DROP TabLE tb

/*
id          value
----------- ------------------------------
1          aa
1          bb
2          aaa
2          bbb
2          ccc

(5 行受影响)
*/

这篇关于分拆列值的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/367691

相关文章

EasyExcel 文件导出 - 合并某些列值相同的行

文章目录 EasyExcel 文件导出 - 合并某些列值相同的行最终效果实现思路创建单元格合并的策略类使用 EasyExcel 文件导出 - 合并某些列值相同的行 在数据处理与文件导出的过程中,我们常常会遇到各种特定的需求。今天,我们就来探讨一下使用 EasyExcel 进行文件导出时,如何合并某些列值相同的行,以实现更加高效和整洁的数据呈现。 最终效果 下面对2、3、4列

有temp表包含A,B两列,使用SQL,对B列进行处理,形成C列,按A列顺序,B列值不变,则C列累计技术,B列值变化,则C列重新开始计数

有temp表,使用SQL,对B列进行处理,形成C列,按A列顺序,B列值不变,则C列累计技术,B列值变化,则C列重新开始计数 建表语句如下 CREATE TABLE temp(A STRING ,B STRING );INSERT INTO TABLE temp VALUES('2010','1'),('2011','1'),('2012','1'),('2013','0'),('2014',

HDU——2097.sky数、2098.分拆素数和、2099.整除的尾数

目录 2097.sky数 题目描述 运行代码 代码思路 2098.分拆素数和 题目描述 运行代码 代码思路 2099.整除的尾数 题目描述 运行代码 代码思路 2097.sky数 题目描述 Problem - 2097 Problem Description Sky从小喜欢奇特的东西,而且天生对数字特别敏感,一次偶然的机会,他发现了一个有趣的四位数2992,这

sharePoint-基于sharepoint列表中的其他列值自动更新值列

首先进入网站,点击网站内容 点击想要操作的数据表后面的按钮,点击设置 点击创建栏 填写栏名,类型选择计算值,公式用于对列表或库中的值执行计算,然后点击右下角的确定就添加成功了 公式参考: 公式SharePoint函数简介 - Microsoft 支持  支持 - Office.com  拼接了两个字段并用-分隔

HDU2098 分拆素数和【水题】【筛法求素数】

分拆素数和 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 23345    Accepted Submission(s): 10115 Problem Description 把一个偶数

pandas 按某一列A排序,按B和C两列分组,选择分组后A列值最大的行

一、需求 按 updateTime 列倒序排序,按 B 和 C 两列分组,分组后选择最后更新的时间的那一行,并将结果加上新索引。 二、代码 import pandas as pddata = pd.read_csv('test.csv')df = pd.DataFrame(data)df = df.sort_values('updateTime', ascending=False).g

2098 分拆素数和

分拆素数和 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 20048    Accepted Submission(s): 8723 Problem Description 把一个偶数拆成两个不同素数的和

unity中重构(分拆)输入代码

codemonkey的混乱厨房第14节,讲述了怎么来重构代码。 目的:是减少和管理的复杂性,每个类只做一件事,只能做一件事 重构思路分析: 空对象 +挂着新类脚本 新类{         公开方法 public 带返回值 } ------------------------------------ 玩家类{ //1.private  拿到新类引用  (拖空对象) //2. 接受方法返回

sql 多行转换为一行(STUFF及PIVOT的用法) ||SQL 合并列值和拆分列值

STUFF的用法 http://www.cnblogs.com/sammon/archive/2012/05/10/2494362.html 行转列:SQL SERVER PIVOT与用法解释 http://www.cnblogs.com/lwhkdash/archive/2012/06/26/2562979.html SQL 合并列值和拆分列值

SQL:如何按条件选出列值最大的所有行【待整理】

摘自:CSDN社区 http://topic.csdn.net/u/20100226/18/85bd50a7-e450-4bf2-9599-a121c18ff95f.html 表tb A    B    C  ------------ 1    2    2  1    2    3  1    2    4  2    2    4  3    2    4 c列为最大时的结