这2个字符串的右边都是结尾都是对齐的,为什么长度不一样,
第一个是129个字符,第2个124个字符.
[size=7px]
1PAGC/666 保证咭 #75131B *EL8605A Nimble PC 0.0687 20700.00 20700.00 1422.09 1422.09 CMP 1PALA/N61 彩盒条码跳字贴纸 *EL8602A PC 0.0697 20720.00 20720.00 1444.19 1444.19 33 CMP[/size]
第一个是129个字符,第2个124个字符.
[size=7px]
1PAGC/666 保证咭 #75131B *EL8605A Nimble PC 0.0687 20700.00 20700.00 1422.09 1422.09 CMP 1PALA/N61 彩盒条码跳字贴纸 *EL8602A PC 0.0697 20720.00 20720.00 1444.19 1444.19 33 CMP[/size]
保证咭 #75131B *EL8605A Nimble
PC
0.0687
20700.00
20700.00
1422.09
1422.09 CMP
有没有办法拆分这样的10列数据呢
标题:分拆列值1
作者:爱新觉罗.毓华(十八年风雨,守得冰山雪莲花开)
时间:2008-11-20
地点:广东深圳
描述有表tb, 如下:
id value
----------- -----------
1 aa,bb
2 aaa,bbb,ccc
欲按id,分拆value列, 分拆后结果如下:
id value
----------- --------
1 aa
1 bb
2 aaa
2 bbb
2 ccc
*/--1. 旧的解决方法(sql server 2000)
SELECT TOP 8000 id = IDENTITY(int, 1, 1) INTO # FROM syscolumns a, syscolumns b SELECT A.id, value = SUBSTRING(A.[value], B.id, CHARINDEX(',', A.[value] + ',', B.id) - B.id)
FROM tb A, # B
WHERE SUBSTRING(',' + A.[value], B.id, 1) = ','DROP TABLE #--2. 新的解决方法(sql server 2005)
create table tb(id int,value varchar(30))
insert into tb values(1,'aa,bb')
insert into tb values(2,'aaa,bbb,ccc')
go
SELECT A.id, B.value
FROM(
SELECT id, [value] = CONVERT(xml,'<root><v>' + REPLACE([value], ',', '</v><v>') + '</v></root>') FROM tb
)A
OUTER APPLY(
SELECT value = N.v.value('.', 'varchar(100)') FROM A.[value].nodes('/root/v') N(v)
)BDROP TABLE tb/*
id value
----------- ------------------------------
1 aa
1 bb
2 aaa
2 bbb
2 ccc(5 行受影响)
*/