『壹』 sql一行數據拆分成多行
select Name1 Spec1 Qty1 from A
union
select Name2 Spec2 Qty2 from A
union
select Name3 Spec3 Qty3 from A
『貳』 想要在sql server2008中將一行拆成兩行,如何操作
直接用SQL不太好操作,可以嘗試做個存儲過程來處理一下字元串,然後返回新的結果。
『叄』 sql2000 表中一列內容拆分轉多行語句
--搭建環境
create table #(a int,b varchar(60))
insert into # select 1,'123,456,xxx,789' union all select 2,'321,213,sss,985'
select * from #
go
------------------------------測試---------------------------------------------
--update組成查詢字元串
update # set b=';'+b+';'
update # set b=replace(b,';','''')
update # set b=replace(b,',',''',''')
go
--創建中間表
create table #tmp(a int identity(1,1),co1 varchar(10),co2 varchar(10),co3 varchar(10),co4 varchar(10))
go
--如果#表中行數太多,可能會超過8000的長度,可以考慮用游標替換這部分
declare @sql varchar(8000)
set @sql=''
select @sql=@sql+b+' union all select ' from #
select @sql='select '+left(@sql,len(@sql)-17)
select @sql='insert into #tmp(co1,co2,co3,co4) '+@sql
print @sql
exec(@sql)
select * from #tmp
---------------------------------
select a,co1 from #tmp union all
select a,co2 from #tmp union all
select a,co3 from #tmp union all
select a,co4 from #tmp
order by a
『肆』 SQL server 一行拆多行
;WITH CTE AS
(
SELECT cname,dqty1,dqty1 AS row
FROM TID
UNION ALL
SELECT cname,dqty1,row-1
FROM CTE
WHERE row>1
)
SELECT * FROM CTE
ORDER BY CTE.cname,CTE.dqty1,CTE.row
OPTION (MAXRECURSION 0)
『伍』 Oracle中怎麼把查出來的一行結果拆分為兩行
這種特殊格式只能用oracle的pl/sql語言來完成了
『陸』 SQL 2012 一行拆多行
比較簡單
1、首先以【,】為間隔符,拆分每行為多行
2、然後拆分其他行,然後用拆分後的行號和ID進行關聯
這樣就可以實現
『柒』 sql 怎麼把一行語句寫成兩行
用 回車鍵 舉行了
『捌』 SQL資料庫 怎麼將一行數據變成多行
用一個循環。
先用參數取到到底要變成多少行,和單價
declare
@t
int
declare
@sal
nvarchar(8)
根據需求或實際情況將應變為多少行這個烤取給變數@t,單價取給@sal
設置循環的起始數值
declare
@i
int
set
@i=1
開始循環
while(@i<=@t)
begin
--將單行的數據插入需要的表
insert
into(……)
values(……)
--循環參數自增
set
@i=@i+1
end
『玖』 sql一行拆分多行記錄
看個例子 改改再用 應該沒問題
QL> select * from t00;
ID ACHAR
---------- ----------
1 ab,ac,ad
1 cc,cf
2 bb,bc,be
SQL> select * from (select id,regexp_substr(achar,'[^,]+',1,level) achar from t00 connect by level<=length(achar)-length(regexp_replace(achar,',',''))+1) group by id,achar order by id ;
ID ACHAR
---------- --------------------
1 ab
1 ac
1 ad
1 cc
1 cf
2 bb
2 bc
2 be
已選擇8行。
『拾』 sql 語句怎麼將一行拆分成兩行
先創建spilt方法,然後調用就行。
1.
--創建function
create or replace function split
(
p_list varchar2,
p_sep varchar2 := ','
) return type_split pipelined
is
l_idx pls_integer;
v_list varchar2(50) := p_list;
begin
loop
l_idx := instr(v_list,p_sep);
if l_idx > 0 then
pipe row(substr(v_list,1,l_idx-1));
v_list := substr(v_list,l_idx+length(p_sep));
else
pipe row(v_list);
exit;
end if;
end loop;
return;
end split;
2.select * from table(split('曹xx,中XX'));