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类型
请各位大神指教~~~拜谢 展开
我写的是
update A set b=66.0 where id=1
执行之后 报错 说vachar不能转换为NUMERIC类型
请各位大神指教~~~拜谢 展开
3个回答
展开全部
很明显,你的A表B列不是numeric类型,而是varchar型的,你用这句试试看:
update A set b=cast(66.0 as varchar(10)) where id=1
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'
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
检查一下B列吧,肯定不是NUMERIC型的
update A set b='66.0' where id=1
update A set b='66.0' where id=1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
update A set b=66 where id=1
语句没有问题,但A必须是数据表名,B必须为列名并且类型是NUMERIC
语句没有问题,但A必须是数据表名,B必须为列名并且类型是NUMERIC
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询