一个字符串转数字的小功能

2022-10-08,,

with t as 
(
  select '-' as col1   --isnumeric('-')这里会判断为数字,所以不能用
  union all
  select '1' as col1 
  union all 
  select '2' as col1 
  union all 
  select '3.4' as col1 
  union all 
  select 's' as col1 
)
select col1, convert(numeric(10,4), 
--                case when isnumeric(col1)=1 then col1 else 0*1.0 end 
                case when patindex('%[^0-9|.|-|+]%',col1)=0
                  then col1 
                  else 0*1.0
                end
                ) 
        as cc from t

 

《一个字符串转数字的小功能.doc》

下载本文的Word格式文档,以方便收藏与打印。