sql中如何将varchar转换为numeric

sql中如何将varchar转换为numeric... sql中如何将varchar转换为numeric 展开
 我来答
roody2110
2011-01-13 · 超过12用户采纳过TA的回答
知道答主
回答量:35
采纳率:0%
帮助的人:27.3万
展开全部
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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
luoxuanjin
2011-09-30 · TA获得超过252个赞
知道小有建树答主
回答量:156
采纳率:0%
帮助的人:173万
展开全部
再套一个类型转换就是了。另外转成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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
纸迷金醉aaly
推荐于2016-09-12 · 超过29用户采纳过TA的回答
知道答主
回答量:109
采纳率:0%
帮助的人:76.7万
展开全部
有一个A表,里面有一个b列,是varchar(18),现在要转换成numeric
select cast(b as decimal(18,2)) from A

FYI
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
日常生活铺
2015-06-11 · TA获得超过302个赞
知道答主
回答量:165
采纳率:0%
帮助的人:48.1万
展开全部
select cast(b as decimal(18,0)) from A

适用于SQLServer Oracle 在sqlserver2005 2008报错

selectconvert(decimal(18,0),b) from yourtable
仅适用于SQLServer 这个在sqlserver2005 2008中可以
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
itdxjx
2011-01-14 · TA获得超过1209个赞
知道小有建树答主
回答量:866
采纳率:50%
帮助的人:694万
展开全部
那你具体执行是哪句呢?
从提示来看,你是想要转换的字段内容中包含字母了(因为varchar类型,可是全数字的字串,也可以是数字字母组合的字串,乃至于汉字等等),然后你要把它转换成number型,当然会报错的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式