加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

转换科学计数法的数值字符串为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类型,再转换floatdecimal

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读