字段处理问题?
刚才可能问的不太清楚,重新问一遍: 
 有如下的纪录若干条: 
 双金属温度计\WSS-481F\0-400℃   L=300   Φ10   G3/4\本体材质:304 
 双金属温度计\WSS-481\0-500℃   L=100   Φ8   NPT1/2 "\本体材质:304 
 双金属温度计\WSS-481\-40~80℃   L=100   Φ8   NPT1/2 "\本体材质:304 
 双金属温度计\WSS-481\-40~80℃   L=50   Φ5   M27×2\本体材质:1Cr18Ni9T 
 . 
 . 
 . 
 想处理完是下面的形式: 
 双金属温度计\WSS-481F\L=300\本体材质:304 
 双金属温度计\WSS-481\L=100\本体材质:304 
 双金属温度计\WSS-481\L=100\本体材质:304 
 双金属温度计\WSS-481\L=50\本体材质:1Cr18Ni9T 
 . 
 . 
 . 
 如何解决?最主要的是℃和Φ的值是变的,如何处理?等这个问题解决了和上个帖子一起给大家结分^-^先谢谢大家了
------解决方案--------------------create table tb(col varchar(100)) 
 insert into tb values( '双金属温度计\WSS-481F\0-400℃ L=300 Φ10 G3/4\本体材质:304 ') 
 insert into tb values( '双金属温度计\WSS-481\0-500℃ L=100 Φ8 NPT1/2 "\本体材质:304 ') 
 insert into tb values( '双金属温度计\WSS-481\-40~80℃ L=100 Φ8 NPT1/2 "\本体材质:304 ') 
 insert into tb values( '双金属温度计\WSS-481\-40~80℃ L=50 Φ5 M27×2\本体材质:1Cr18Ni9T ') 
 go   
 select reverse(substring(reverse(left(col , charindex( '℃ ',col))) , charindex( '\ ',reverse(left(col , charindex( '℃ ',col)))),len(reverse(left(col , charindex( '℃ ',col))))))  + 
        substring(col , charindex( '℃ ' , col) + 2 , charindex( 'Φ ' , col) - charindex( '℃ ' , col) - 3) + 
        substring(col , charindex( '\ ' , col , charindex( 'Φ ' , col)) , len(col)) col from tb 
 drop table tb   
 /* 
 col                                        
 ------------------------------------------ 
 双金属温度计\WSS-481F\L=300\本体材质:304 
 双金属温度计\WSS-481\L=100\本体材质:304 
 双金属温度计\WSS-481\L=100\本体材质:304 
 双金属温度计\WSS-481\L=50\本体材质:1Cr18Ni9T   
 (所影响的行数为 4 行) 
 */
------解决方案--------------------create table #b(a varchar(100)) 
                                                          insert #b select  
  '双金属温度计\WSS-481F\0-400℃ L=300 Φ10 G3/4\本体材质:304 ' insert #b select 
  '双金属温度计\WSS-481\0-500℃ L=100 Φ8 NPT1/2 "\本体材质:304 ' insert #b select 
  '双金属温度计\WSS-481\-40~80℃ L=100 Φ8 NPT1/2 "\本体材质:304 ' insert #b select 
  '双金属温度计\WSS-481\-40~80℃ L=50 Φ5 M27×2\本体材质:1Cr18Ni9T ' 
 update #b set a=replace(a,replace(PARSENAME(replace(replace(a, '\ ', '. '), ' " ', '_ '),2), '_ ', ' " ') , PARSENAME(replace(PARSENAME(replace(replace(a, '\ ', '. '), ' " ', '_ '),2), '  ', '. '),3)) 
 select a from #b
------解决方案----------------------創建測試環境 
 Create Table TEST 
 (A Nvarchar(200)) 
 --插入數據 
 Insert TEST Select N '双金属温度计\WSS-481F\0-400℃ L=300 Φ10 G3/4\本体材质:304 ' 
 Union All Select N '双金属温度计\WSS-481\0-500℃ L=100 Φ8 NPT1/2 "\本体材质:304 ' 
 Union All Select N '双金属温度计\WSS-481\-40~80℃ L=100 Φ8 NPT1/2 "\本体材质:304 ' 
 Union All Select N '双金属温度计\WSS-481\-40~80℃ L=50 Φ5 M27×2\本体材质:1Cr18Ni9T ' 
 GO 
 --測試 
 Select Left(A, CharIndex( '\ ', A, CharIndex( '\ ', A) + 1)) + 
 Substring(A, CharIndex( '℃ ', A) + 2, CharIndex( 'Φ ', A) - CharIndex( '℃ ', A) - 3) +  
 Right(A, CharIndex( '\ ', Reverse(A))) As A 
 From TEST 
 --刪除測試環境 
 Drop Table TEST 
 GO 
 --結果 
 /* 
 A 
 双金属温度计\WSS-481F\L=300\本体材质:304 
 双金属温度计\WSS-481\L=100\本体材质:304 
 双金属温度计\WSS-481\L=100\本体材质:304 
 双金属温度计\WSS-481\L=50\本体材质:1Cr18Ni9T 
 */