科学技术法转numeric() 思想就是先转float 再转numeric

select cast(cast('1.78e+006' as float) as numeric(19,2))

 

方法盗取来自:http://www.cnblogs.com/shunliy/archive/2011/10/12/2208156.html

thanks!

 

自己比较笨拙的方法:

SELECT CAST(left('1.78e+006',CHARINDEX('e','1.78e+006')-1) as decimal(10,2))

        *POWER(10,right('1.78e+006',len('1.78e+006')-CHARINDEX('+','1.78e+006')))

 

DECLARE @A1 VARCHAR(100),@A2 VARCHAR(100)

set @A1=REPLACE('1.78e+006','e+','*power(10,')

set @A1='select '+ @A1+')'

posted on 2014-03-26 15:12  高书影语  阅读(1636)  评论(0编辑  收藏  举报