SQL 关于NUMERIC类型数据的修改语句

sql2008在一张表里有一列数据类型是NUMERIC假设这个值现在是55.6我现在想将55.6改为66.0这个语句应该如何写?我写的是updateAsetb=66.0w... sql2008 在一张表里 有一列数据类型是NUMERIC 假设这个值现在是55.6 我现在想将55.6改为66.0 这个语句应该如何写?
我写的是
update A set b=66.0 where id=1
执行之后 报错 说vachar不能转换为NUMERIC类型

请各位大神指教~~~拜谢
展开
 我来答
Forseayoung
2013-02-23 · TA获得超过146个赞
知道小有建树答主
回答量:195
采纳率:70%
帮助的人:137万
展开全部
很明显,你的A表B列不是numeric类型,而是varchar型的,你用这句试试看:
update A set b=cast(66.0 as varchar(10)) where id=1
追问
额···        B列是numeric类型的·····是我在输入 b=66.0的时候     报错说的是66.0是varchar类型的···
按照你的说法 是不是应该是 updat A set b=cast(66.0 as numeric(tangram_guid_1361630259177)) where id=1

?? 我不知道怎么填······
顺便请教下 cast 是什么意思···
追答
这样如果我给你的那句执行时报错,那就证明B列应该是numeric型的,如果执行通过,就证明B列是字符型的。
另外不管怎么说66.0不会被sql认为是varchar型的,除非你带了引号:'66.0'
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
badkano
2013-02-23 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144776 获赞数:885371
团长

向TA提问 私信TA
展开全部
检查一下B列吧,肯定不是NUMERIC型的
update A set b='66.0' where id=1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hnyangbin
2013-02-23 · TA获得超过194个赞
知道小有建树答主
回答量:258
采纳率:33%
帮助的人:118万
展开全部
update A set b=66 where id=1
语句没有问题,但A必须是数据表名,B必须为列名并且类型是NUMERIC
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式