转换科学计数法的数值字符串为decimal类型
发布时间:2020-12-12 13:48:01 所属栏目:MsSql教程 来源:网络整理
导读:在操作数据库时,需要将字符串转换成 decimal 类型。代码如下: ? select ? cast ( '0.12' ? as ? decimal ( 18 , 2 )); select ? convert ( decimal ( 18 , 2 ), ? '0.12' ); ? 当需要将科学计数法的数字字符串转换成 decimal 时,这 2 种写法都报错: msg
在操作数据库时,需要将字符串转换成decimal
类型。代码如下:
? select?cast('0.12'?as?decimal(18,2)); select?convert(decimal(18,2),?'0.12'); ? 当需要将科学计数法的数字字符串转换成decimal时,这2种写法都报错: msg 8114,level 16,state 5,line 1 error converting data type varchar to numeric. ? select?cast('0.12e+006'?as?decimal(18,?'0.12e+006'); ? 网上查了很多资料都没有找到答案。最后无意中发现float类型转换成字符串时就会产生科学计数法的数值字符串: select?cast(cast(1234400000?as?float)?as?varchar) 1.2344e+009 ? 反向思维,那科学计数法的数值字符串应该可以转换成float类型,再转换float到decimal。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |