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!
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
长度不等,则要判断长度.
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……
如果长度相等,这样就行了:
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