sql中如何将varchar转换为numeric
发布网友
发布时间:2022-05-01 00:28
我来回答
共7个回答
热心网友
时间:2022-04-10 19:06
numeric有好几种选择,有整形、小数型等等。都是用cast来实现
前提:A表的ID字段是VARCHAR类型
1.SELECT CAST(ID AS INTEGER) FROM A
2.SELECT CAST(ID AS DECIMAL(18,X)) FROM A --X指小数位,如果想保留2位小数则是2,如果不保留小数位则是0
热心网友
时间:2022-04-10 20:24
再套一个类型转换就是了。另外转成char会固定占位,格式难看
给你改成varchar了。
cast(cast(sum(case when p.ob_problemstatus='4' then 1 else 0 end)*100/case
when count(*)=0 then 1 else count(*) end as decimal (18,2) ) as varchar)+'%' psrate
热心网友
时间:2022-04-10 21:58
有一个A表,里面有一个b列,是varchar(18),现在要转换成numeric
select cast(b as decimal(18,2)) from A
FYI
热心网友
时间:2022-04-10 23:50
select cast(b as decimal(18,0)) from A
适用于SQLServer Oracle 在sqlserver2005 2008报错
selectconvert(decimal(18,0),b) from yourtable
仅适用于SQLServer 这个在sqlserver2005 2008中可以
热心网友
时间:2022-04-11 01:58
那你具体执行是哪句呢?
从提示来看,你是想要转换的字段内容中包含字母了(因为varchar类型,可是全数字的字串,也可以是数字字母组合的字串,乃至于汉字等等),然后你要把它转换成number型,当然会报错的
热心网友
时间:2022-04-11 04:22
'varchar' AS DECIMAL(10,2)
cast 都可以
热心网友
时间:2022-04-11 07:04
to_number(aa)