SQL SERVER 2012 T-SQL 新增函数-TRY_CONVERT,非常耗用。
看一个例子:
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

本文介绍 SQL Server 2012 中新增的 TRY_CONVERT 函数,并通过示例展示如何使用该函数将不同格式的数据转换为数值类型。此外,还探讨了在转换失败时的处理方法。
3117

被折叠的 条评论
为什么被折叠?



