首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SQL Server 2008 varchar to decimal导致:“将数据类型varchar转换为numeric时出错”

SQL Server 2008 varchar to decimal导致:“将数据类型varchar转换为numeric时出错”
EN

Stack Overflow用户
提问于 2011-10-04 19:42:33
回答 2查看 16.1K关注 0票数 1

我正在尝试将一个存储为varchar的值存储在一个十进制字段中。

下面的示例都会导致:“将数据类型varchar转换为numeric时出错。”

这里我漏掉了什么?

代码语言:javascript
复制
SELECT CONVERT(decimal(11,2), '6.999,50') 
SELECT CONVERT(decimal(11, 2), '6.999,50')
SELECT CAST('6.999,50' AS decimal) / 100.0
SELECT CAST((CAST('6.999,50' AS decimal) / 100000) AS decimal(17,5))
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-10-04 19:44:50

您忽略了6.999,50不是有效小数的事实。你不能在十进制值中有逗号和小数点吗?它应该是什么号码?

假设您的区域设置指定。作为分组和作为小数分隔符:要删除分组数字:

代码语言:javascript
复制
SELECT CONVERT(decimal(11,2), REPLACE('6.999,50', '.', '')) 

将产生小数形式的6999,50

票数 2
EN

Stack Overflow用户

发布于 2011-10-04 19:55:50

我怀疑是你的语言环境设置。您的区域设置使用逗号作为小数点,句点作为分隔符。您的sql服务器可能设置为默认的美国英语,反之亦然,句点作为小数点,逗号作为分隔符。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7647333

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档