declare @numerics as table   
 
( row_id tinyint identity(1,1) primary key, numeric_val varchar(100))  
 
insert into @numerics(numeric_val)values  ('35.2'),(' 100.7(received tylenol per RN')
,('  120'),('100.6(@4pm)'),('92.4 orally'),('37.2(99.0)'),('35.3 C'),('-97.6')  

select n.numeric_val,  
try_convert(float, n.numeric_val) as nv_try_convert,  
isnumeric(n.numeric_val) as nv_isnumeric, case   
 when try_convert(float, n.numeric_val) is not null    
      then abs(try_convert(float, n.numeric_val))     
 when left(ltrim(n.numeric_val),4) like '[0-9][0-9].[0-9]'    
      then abs(try_convert(float, left(ltrim(n.numeric_val),4)))    
 when left(ltrim(n.numeric_val),5) like '[0-9][0-9][0-9].[0-9]'   
      then abs(try_convert(float, left(ltrim(n.numeric_val),5))) end as nv_try_convert_case   
 
from @numerics n

 

image

 

參考:红黑联盟

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 小草 的頭像
    小草

    學海無邊,書囊無底

    小草 發表在 痞客邦 留言(0) 人氣()