㈠ sql数据拆分
第一个
FROM ccc A, # B
就该是
FROM ccc A, #临时表名 B
㈡ sql 把一个字段分成多个字段
方法和详细的操作步骤如下:
1、第一步,新的PHP文件,见下图,转到下面的步骤。
㈢ 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 语句怎么将一行拆分成两行
先创建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'));
㈤ sql数据库 根据一个字段的值 拆分成两个字段
省和市之间是有 空格分隔的对吗?
如果是的话 你可以截取啊
先判断空格的位置 position(' 'in column_name)
再截取字符串就可以了
substr(column_name,1,position('' in column_name)) --省
substr(column_name,position('' in column_name)+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一条数据拆分成多条
select 编号,买方姓名,'' as 卖方姓名,产品名称
from Tab
union all
select 编号,'' as 买方姓名,卖方姓名,产品名称
from Tab
㈧ sql查询里 怎么拆分字符串(按“/”拆分)
先建立一个自定义函数,之个函数非常有用,建议收入自已的数据库
CREATE FUNCTION mysplit--将以某分隔符分段的字串,按指定的顺序号提取子串:
(@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