问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

数据库截取函数和行转列问题

发布网友 发布时间:2022-04-26 07:36

我来回答

3个回答

热心网友 时间:2022-06-25 09:06

由于拆分后还需要按顺序组合成,所以使用游标。
declare @a varchar(1000), @b varchar(1000)
declare @seq_a int, @seq_b int
set @seq_a = 1
set @seq_b = 1
create table #a(seq int, val int)
create table #b(seq int, val int)
declare cur cursor for select A, B from tablename
open cur
fetch next from cur into @a, @b
while @@fetch_status = 0
begin
if charindex(',',@a,1) = 0
begin
insert into #a values(@seq_a, cast(@a as int))
set @seq_a = @seq_a + 1
end
else
begin
declare @index_a int,@pos_a int
set @index_a = 1
set @a = @a + ','
set @pos_a = charindex(',',@a,@index_a)
while @pos_a > 0
begin
insert into #a values(@seq_a, cast(substring(@a,@index_a,@pos_a - @index_a) as int))
set @seq_a = @seq_a + 1
set @index_a = @pos_a + 1
set @pos_a = charindex(',',@a,@index_a)
end
end

if charindex(',',@b,1) = 0
begin
insert into #b values(@seq_b, cast(@b as int))
set @seq_b = @seq_b + 1
end
else
begin
declare @index_b int,@pos_b int
set @index_b = 1
set @b = @b + ','
set @pos_b = charindex(',',@b,@index_b)
while @pos_b > 0
begin
insert into #b values(@seq_b, cast(substring(@b,@index_b,@pos_b - @index_b) as int))
set @seq_b = @seq_b + 1
set @index_b = @pos_b + 1
set @pos_b = charindex(',',@b,@index_b)
end
end

fetch next from cur into @a, @b
end
close cur
deallocate cur

select #a.val as A, #b.val as B from #a full join #b on #a.seq = #b.seq
order by isnull(#a.seq, #b.seq)

drop table #a
drop table #b

热心网友 时间:2022-06-25 09:06

你这数据什么意思,没看出来怎么拆的,说一下变换的规则
AB
1,23
3,46


AB
13
26
31
45追问就是说一个字段里面的数据是9,11,3,14比如有4个数,现在要把这4个数分别存到4行里去
A
9,11,3,14
3,4,6

A
9
11
3
14
3
4
6

热心网友 时间:2022-06-25 09:07

SUBSTR($a,0,4),其中4是指长度length-1。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
如何解决小米电视开机死机? 涂色部分所占的分数是五分之一.××(判断对错) 18个⭐,平均分成5份。每份是多少,还剩几份。 18个⭐,平均分成5份。每份是多少,还剩几份? 有6个五角星,平均分成2份,1份是五角星总数的什么,有什么个怎么解答 捷信现金贷款不还有哪些后果?有人知道吗? 怎样在淘宝上开网店具体步骤和流程是什么 淘宝怎么开网店 开网店详细步骤介绍 跟女朋友是异地恋,我因为实在太忙了没办法去找她,但是她又不愿意来... ...女朋友异地恋已经3个月了,她有时候对我冷淡,我不知道该怎么办... 行政复议的概念及基本原则 sql行转列 下列何项属于行政复议的原则 ( )。 sql行转列函数 增量补贴(incr_subsidies)在T_HR_PAY_PLAN 表中,年终绩效在一年只有一个月有 行政复议应遵循哪些原则 简述行政复议的基本原则。 行政复议的原则包括什么? 求温柔高雅带华字和燕字的情侣网名有哪些? 行政复议的原则是什么 行政复议的原则有哪些 行政复议的原则包括哪些 高雅不俗的网名有哪些? 高通这代芯片命名为骁龙888,而非骁龙875,原因是什么? 脱离华为后,荣耀的做法伤透了国人的心,到底发生了什么? 疑似一加9出现三个版本?骁龙875+屏下镜头+五摄,渲染图已曝光! 骁龙875支不支持双卡? K8 怎么弄哦? 破产程序的适用范围 好听网字 带符号的 怎样么才能连接k8opro无人机 以下属于行政复议的原则的有( ) 这个sql语句怎么写? sql语句查询,多个结果查询一列显示如下: 行政复议最基本的原则有哪些 oracle 关联时怎样将关联成的多行显示成多列 行政复议应当遵循下列哪一项原则 oracle 11g ,pl/sql,咨询一条列转行的函数 oracle多条记录分组合并显示。 请各位大神帮忙!这个sql语句要怎么写... 教育有什么课程 用SQL语句完成匹配、提取、填充,详细问题请参看下面的图片,急!!!!!在线等待!!!! MBA教育课程是什么 一个SQL语句 ORACLE 同表列转行 oracle 写一个简单的表函数,结果就一行三列,三个值是从三个不同的地方查到的。 教育学主要学什么课程 teradata有列转行函数吗 在教育学中 名词解释什么是 课程 境外教育课程是什么意思? 什么是学前教育课程,跟我们平时所谈的课程有什么区别? 小学教育专业课程有哪些?