将数据类型 varchar 转换为 numeric 时出错。请教!~

Vicious_Tipper 2011-09-20 04:05:17
内容如下:

Declare @Content varchar
Declare @DataValue as numeric(10,2)

...
select @DataValue = '123.201234567890'

select @Content = 'Text:' + @DataValue

出错:将数据类型 varchar 转换为 numeric 时出错。

我的目的是显示内容为Text:123.20

请教如何解决这个问题?感谢大家帮忙……
...全文
178 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuanwza 2011-09-22
  • 打赏
  • 举报
回复
Declare @Content varchar(50)
Declare @DataValue as numeric(10,2)

select @DataValue = '123.201234567890'

select @DataValue

select @Content = 'Text:' + CONVERT(varchar(50), @DataValue)

select @Content
迪迦凹凸曼 2011-09-20
  • 打赏
  • 举报
回复
LZ在定义
Declare @Content varchar

vachar默认是1个字节,这样的话会只显示一个T字
Leon_He2014 2011-09-20
  • 打赏
  • 举报
回复
Declare @Content varchar(50)
Declare @DataValue as numeric(10,2)

select @DataValue = '123.201234567890'

select @DataValue

select @Content = 'Text:' + CONVERT(varchar(50), @DataValue)

select @Content
Vicious_Tipper 2011-09-20
  • 打赏
  • 举报
回复
2楼也对,哈哈,谢谢各位,再次!
Vicious_Tipper 2011-09-20
  • 打赏
  • 举报
回复
谢谢各位,1楼的方法是可行的,非常感谢,等下分送给各位。
chuanzhang5687 2011-09-20
  • 打赏
  • 举报
回复
Declare @Content varchar(50)--你得给你的数据赋个长度
Declare @DataValue as numeric(10,2)
--小F-- 2011-09-20
  • 打赏
  • 举报
回复
需要转换一下
cast ,convert 都可以的
AcHerat 2011-09-20
  • 打赏
  • 举报
回复
Text:123.20
你要将你需要的数字提取出来再转换,Text是数据类型还是其中的值,如值的话要截取掉包括冒号。
-晴天 2011-09-20
  • 打赏
  • 举报
回复
Declare @Content varchar(30)
Declare @DataValue as numeric(10,2)

select @DataValue = '123.201234567890'

select @Content = 'Text:' + convert(varchar,@DataValue)

select @content
/*
------------------------------
Text:123.20

(1 行受影响)

*/
dawugui 2011-09-20
  • 打赏
  • 举报
回复
Text:123.20

??

select @Content = 'Text:' + cast(@DataValue as varchar)



22,294

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧