商品名称
耐克 DS001
安踏 AT002
阿迪达斯 AD009
变成 下面这种表
品牌 商品代码
耐克 DS001
安踏 AT002
阿迪达斯 AD009
9 个解决方案
#1
真正的商品代码,都是字母或数字开头吗?
#2
我只是打个比方
#3
得有具体的规律才可以拆的;或者说,有一张品牌的列表,也可以的;
#4
真正的商品代码,都是字母或数字开头吗?
品牌和商品代码在商品名称中都是以空格隔开的 我就是想以空格来区分品牌和商品代码
#5
create table test(pp varchar(30))
go
insert into test values('耐克 DS001'),('安踏 AT002'),('阿迪达斯 AD009')
go
select
substring(pp,1,charindex(' ',pp))pp1,
substring(pp,charindex(' ',pp) +1,30) pp2
from test
go
drop table test
go
(3 行受影响)
pp1 pp2
------------------------------ ------------------------------
耐克 DS001
安踏 AT002
阿迪达斯 AD009
(3 行受影响)
#6
看你的格式,分隔符为两个空格
e.g.
e.g.
SELECT LEFT(商品名称, CHARINDEX(' ', 商品名称 + ' ') - 1) AS 品牌 ,
STUFF(商品名称, 1, CHARINDEX(' ', 商品名称 + ' ') + 1, '') AS 商品代码
FROM ( VALUES ( '耐克 DS001'), ( '安踏 AT002'), ( '阿迪达斯 AD009') ) t ( 商品名称 );
/*
品牌 商品代码
耐克 DS001
安踏 AT002
阿迪达斯 AD009
*/
#7
看你的格式,分隔符为两个空格
e.g.SELECT LEFT(商品名称, CHARINDEX(' ', 商品名称 + ' ') - 1) AS 品牌 ,
STUFF(商品名称, 1, CHARINDEX(' ', 商品名称 + ' ') + 1, '') AS 商品代码
FROM ( VALUES ( '耐克 DS001'), ( '安踏 AT002'), ( '阿迪达斯 AD009') ) t ( 商品名称 );
/*
品牌 商品代码
耐克 DS001
安踏 AT002
阿迪达斯 AD009
*/
select * from (values()) , 这种语法, 真是头一次见,刚看了下官文,长了见识了。
大版 V5
#8
select '耐克 DS001' as col1 into #a
select left(col1,(select charindex(' ',col1))), substring(col1,(select charindex(' ',col1)),(select len(col1))) from #a
这个意思?
select left(col1,(select charindex(' ',col1))), substring(col1,(select charindex(' ',col1)),(select len(col1))) from #a
这个意思?
#9
看你的格式,分隔符为两个空格
e.g.SELECT LEFT(商品名称, CHARINDEX(' ', 商品名称 + ' ') - 1) AS 品牌 ,
STUFF(商品名称, 1, CHARINDEX(' ', 商品名称 + ' ') + 1, '') AS 商品代码
FROM ( VALUES ( '耐克 DS001'), ( '安踏 AT002'), ( '阿迪达斯 AD009') ) t ( 商品名称 );
/*
品牌 商品代码
耐克 DS001
安踏 AT002
阿迪达斯 AD009
*/
这种 该怎么拆 aa 字段值 K500+200 拆成 bb=500 cc=200
aa 字段值 K500+200-K500+400 拆成 bb=500 cc=200 dd=500 ee=400 ?
#1
真正的商品代码,都是字母或数字开头吗?
#2
真正的商品代码,都是字母或数字开头吗?
我只是打个比方
#3
真正的商品代码,都是字母或数字开头吗?
我只是打个比方
得有具体的规律才可以拆的;或者说,有一张品牌的列表,也可以的;
#4
真正的商品代码,都是字母或数字开头吗?
品牌和商品代码在商品名称中都是以空格隔开的 我就是想以空格来区分品牌和商品代码
#5
create table test(pp varchar(30))
go
insert into test values('耐克 DS001'),('安踏 AT002'),('阿迪达斯 AD009')
go
select
substring(pp,1,charindex(' ',pp))pp1,
substring(pp,charindex(' ',pp) +1,30) pp2
from test
go
drop table test
go
(3 行受影响)
pp1 pp2
------------------------------ ------------------------------
耐克 DS001
安踏 AT002
阿迪达斯 AD009
(3 行受影响)
#6
看你的格式,分隔符为两个空格
e.g.
e.g.
SELECT LEFT(商品名称, CHARINDEX(' ', 商品名称 + ' ') - 1) AS 品牌 ,
STUFF(商品名称, 1, CHARINDEX(' ', 商品名称 + ' ') + 1, '') AS 商品代码
FROM ( VALUES ( '耐克 DS001'), ( '安踏 AT002'), ( '阿迪达斯 AD009') ) t ( 商品名称 );
/*
品牌 商品代码
耐克 DS001
安踏 AT002
阿迪达斯 AD009
*/
#7
看你的格式,分隔符为两个空格
e.g.SELECT LEFT(商品名称, CHARINDEX(' ', 商品名称 + ' ') - 1) AS 品牌 ,
STUFF(商品名称, 1, CHARINDEX(' ', 商品名称 + ' ') + 1, '') AS 商品代码
FROM ( VALUES ( '耐克 DS001'), ( '安踏 AT002'), ( '阿迪达斯 AD009') ) t ( 商品名称 );
/*
品牌 商品代码
耐克 DS001
安踏 AT002
阿迪达斯 AD009
*/
select * from (values()) , 这种语法, 真是头一次见,刚看了下官文,长了见识了。
大版 V5
#8
select '耐克 DS001' as col1 into #a
select left(col1,(select charindex(' ',col1))), substring(col1,(select charindex(' ',col1)),(select len(col1))) from #a
这个意思?
select left(col1,(select charindex(' ',col1))), substring(col1,(select charindex(' ',col1)),(select len(col1))) from #a
这个意思?
#9
看你的格式,分隔符为两个空格
e.g.SELECT LEFT(商品名称, CHARINDEX(' ', 商品名称 + ' ') - 1) AS 品牌 ,
STUFF(商品名称, 1, CHARINDEX(' ', 商品名称 + ' ') + 1, '') AS 商品代码
FROM ( VALUES ( '耐克 DS001'), ( '安踏 AT002'), ( '阿迪达斯 AD009') ) t ( 商品名称 );
/*
品牌 商品代码
耐克 DS001
安踏 AT002
阿迪达斯 AD009
*/
这种 该怎么拆 aa 字段值 K500+200 拆成 bb=500 cc=200
aa 字段值 K500+200-K500+400 拆成 bb=500 cc=200 dd=500 ee=400 ?