SQL 截取字符串

declare @s varchar(8000)
set @s='Int_Rev_No : A 基材種類 : BT HL832NX-A(HS) T/T 0.1mm 鍍金前板厚(mm) : 0.1848 COMP鍍鎳金面積dm2 : 1.8268 SOLD鍍鎳金面積dm2 : 0.2089 COMP鍍鎳厚度 : 5 + 15/-0um SOLD鍍鎳厚度 : 5 + 15/-0um COMP鍍金厚度 : 0.5 + 0/-0um SOLD鍍金厚度 : 0.5 + 0/-0um Finish Finger width 規格 : 55um Finish finger Space規格 : 30um 微影 min. Finger Width : 63um 微影 min. Finger Space : 35um Bot SMK Opening (um) : NA UMC_X-out_No : 5 Pcs / Strip : 45 Strip / Panel : 24 鍍軟金注意事項 :Comp side鍍鎳厚度:5~20 um,鍍金厚度:min.0.5um Sold side鍍鎳厚度:5~20 um,鍍金厚度:min.0.5um'
set @s=replace(@s,' ','')

select substring(@s,patindex('%COMP鍍鎳金面積dm2%',@s)+len('COMP鍍鎳金面積dm2')+1,6)

现在要截取 COMP鍍鎳厚度,SOLD鍍鎳厚度,SOLD鍍金厚度。。。 后面的值,这是其中的一笔资料,现在有很多笔 
这些值的 长度不一定相同 但前面的 COMP鍍鎳厚度,SOLD鍍鎳厚度,SOLD鍍金厚度。。。是相同的

怎么截取 谢谢~~~TKS!

作者: dbqcfr   发布时间: 2011-06-13

sff

作者: chuanzhang5687   发布时间: 2011-06-13

可以用charindex循环,但是貌似比较费劲。

作者: maco_wang   发布时间: 2011-06-13

搜索一下循环截取函数

作者: fredrickhu   发布时间: 2011-06-13

如果长度相等,这样就行了:
SQL code
declare @s varchar(8000)
set @s='Int_Rev_No : A 基材種類 : BT HL832NX-A(HS) T/T 0.1mm 鍍金前板厚(mm) : 0.1848 COMP鍍鎳金面積dm2 : 1.8268 SOLD鍍鎳金面積dm2 : 0.2089 COMP鍍鎳厚度 : 5 + 15/-0um SOLD鍍鎳厚度 : 5 + 15/-0um COMP鍍金厚度 : 0.5 + 0/-0um SOLD鍍金厚度 : 0.5 + 0/-0um Finish Finger width 規格 : 55um Finish finger Space規格 : 30um 微影 min. Finger Width : 63um 微影 min. Finger Space : 35um Bot SMK Opening (um) : NA UMC_X-out_No : 5 Pcs / Strip : 45 Strip / Panel : 24 鍍軟金注意事項 :Comp side鍍鎳厚度:5~20 um,鍍金厚度:min.0.5um Sold side鍍鎳厚度:5~20 um,鍍金厚度:min.0.5um'
set @s=replace(@s,' ','')

select substring(@s,charindex('COMP鍍鎳金面積dm2:',@s)+len('COMP鍍鎳金面積dm2:'),6),
substring(@s,charindex('SOLD鍍鎳厚度:',@s)+len('SOLD鍍鎳厚度:'),9),
substring(@s,charindex('SOLD鍍金厚度:',@s)+len('SOLD鍍金厚度:'),10)
/*
------------ ------------------ --------------------
1.8268       5+15/-0um          0.5+0/-0um

(1 行受影响)


*/



长度不等,则要判断长度.

作者: qianjin036a   发布时间: 2011-06-13

引用 4 楼 qianjin036a 的回复:
如果长度相等,这样就行了:

SQL code
declare @s varchar(8000)
set @s='Int_Rev_No : A 基材種類 : BT HL832NX-A(HS) T/T 0.1mm 鍍金前板厚(mm) : 0.1848 COMP鍍鎳金面積dm2 : 1.8268 SOLD鍍鎳金面積dm2 : 0.2089 COMP鍍鎳厚度 : 5 + 15/-0um SOLD……


判断长度,能请教下 如果 有一笔资料的 SOLD鍍金厚度为 0.75+0.25/-0.25um
我要怎么取判断长度!
TKS!

作者: dbqcfr   发布时间: 2011-06-13