sql拆分
Ⅰ sql拆分逗號分隔的字元串
1、首先點擊新建查詢按鈕,新建一個查詢。
Ⅱ sql語句 拆分
select 這個地方就是查詢的欄位,然後IP是自定義的名字 'IP'=substring(拆分的欄位名,b.number,charindex('拆分的符號',拆分的欄位名+',',b.number)-b.number) from 你的表名 a
inner join master.dbo.spt_values b on b.number between 1 and len(拆分的欄位名)
and substring(','+拆分的欄位名,b.number,1)='拆分的符號'
where b.type='P' 後邊可以是條件 and Id=1
Ⅲ SQL如何把多條數據拆分
drop table test
create table test
(
VID int primary key,
VNum int,
vname varchar(10),
score int
)
insert into test values(1,001,'大海',20)
insert into test values(2,001,'大海',30)
insert into test values(3,001,'大海',40)
drop function fn_test
alter function fn_test
(
@vnum int
)
returns varchar(20)
as
begin
declare @str varchar(20)
select @str = isnull(@str+',','') + cast(score as varchar(2)) from test
return @str
end
go
select top 1 vid,vnum,vname,dbo.fn_test(vnum) as '分數' from test
/**
vid vnum vname 分數
----------- ----------- ---------- --------------------
1 1 大海 20,30,40
(所影響的行數為 1 行)
**/
可以了 呵呵呵呵呵
***********************************************************************************************這個是在SQL SERVER里執行的啊****************
Ⅳ sql 把一個欄位分成多個欄位
方法和詳細的操作步驟如下:
1、第一步,新的PHP文件,見下圖,轉到下面的步驟。
Ⅳ sql如何把行拆分為幾行
如此問題,我也只能這樣貼例子了,如不能解決,可以繼續聯系
--分拆列值
--原著:鄒建
--改編:愛新覺羅.毓華(十八年風雨,守得冰山雪蓮花開)2007-12-16廣東深圳
/*
有表tb,如下:
idvalue
----------------------
1aa,bb
2aaa,bbb,ccc
*/
--欲按id,分拆value列,分拆後結果如下:
/*
idvalue
-------------------
1aa
1bb
2aaa
2bbb
2ccc
*/
--1.舊的解決方法(sqlserver2000)
selecttop8000id=identity(int,1,1)into#fromsyscolumnsa,syscolumnsb
selectA.id,substring(A.[values],B.id,charindex(',',A.[values]+',',B.id)-B.id)
fromtbA,#B
wheresubstring(','+A.[values],B.id,1)=','
droptable#
--2.新的解決方法(sqlserver2005)
createtabletb(idint,valuevarchar(30))
insertintotbvalues(1,'aa,bb')
insertintotbvalues(2,'aaa,bbb,ccc')
go
selectA.id,B.value
from(
selectid,[value]=convert(xml,'<root><v>'+replace([value],',','</v><v>')+'</v></root>')fromtb
)A
outerapply(
selectvalue=N.v.value('.','varchar(100)')fromA.[value].nodes('/root/v')N(v)
)B
droptabletb
/*
idvalue
-----------------------------------------
1aa
1bb
2aaa
2bbb
2ccc
(5行受影響)
*/
Ⅵ sql查詢里 怎麼拆分字元串(按「/」拆分)
先建立一個自定義函數,之個函數非常有用,建議收入自已的資料庫
CREATE FUNCTION mysplit--將以某分隔符分段的字串,按指定的順序號提取子串:
java">(@strnvarchar(2000),--源字串
@snint,--提取序號
@Delivarchar(1)--分隔符
)
RETURNSvarchar(100)
AS
BEGIN
declare@firstint,@lastint,@resultvarchar(1000),@sn0int
select@sn0=0,@first=0,@LAST=1,@str=@str+REPLICATE(@DELI,1)
while@sn0!=@sn
begin
select@sn0=@sn0+1,@first=@LAST,@last=charindex(@DELI,@str,@LAST)+1
end
if@last-@first-1<0
set@result=''
else
SET@RESULT=SUBSTRING(@str,@FIRST,@LAST-@FIRST-1)
RETURN(@RESULT)
END
查詢方法:
DECLARE@AVARCHAR(100),@BVARCHAR(100),@CVARCHAR(100)
SELECT
@A=DBO.MYSPLIT('A|B|C',1,'|'),
@B=DBO.MYSPLIT('A|B|C',2,'|'),
@C=DBO.MYSPLIT('A|B|C',3,'|')
SELECT@A,@B,@C
Ⅶ SQL如何進行表的拆分
1.復製表結構及數據到新表
create table 新表 select * from 舊表 where ...
2.只復製表結構到新表
create table 新表 select * from 舊表 where 1=2 (即:讓where條件不成立)
3.復制舊表的數據到新表(假設兩個表結構一樣)
insert into 新表 select * from 舊表
4.復制舊表的數據到新表(假設兩個表結構不一樣)
insert into 新表(欄位1,欄位2,.......) select 欄位1,欄位2,...... from 舊表.
Ⅷ sql數據拆分
第一個
FROM ccc A, # B
就該是
FROM ccc A, #臨時表名 B
Ⅸ sql 拆分行數據
create or replace procere lpc_aa as
j number(38, 0);
k number(38, 0) default 0;
begin
for i in (select name, qty from lpc_001) loop
while (k < i.qty) loop
j := round(dbms_random.value(1, 10));
if (k + j > i.qty) then
j := i.qty - k;
end if;
insert into lpc_002 values (i.name, j);
k := k + j;
end loop;
k := 0;
end loop;
exception
when others then
rollback;
commit;
end;
用循環之類的把他插入到表中就行。不知道這個可不可以滿足你的要求。
Ⅹ SQL拆分語句
已知4個參數, 然後根據此參數 插入數據到表2中 不會嗎?
While循環寫入或者循環生成SQL插入語句 一次性運行插入語句