日期:2014-05-18  浏览次数:20403 次

将数据类型 varchar 转换为 numeric 时出错。请教!~
内容如下:

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

...
select @DataValue = '123.201234567890'

select @Content = 'Text:' + @DataValue

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

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

请教如何解决这个问题?感谢大家帮忙……

------解决方案--------------------
Text:123.20

??

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




------解决方案--------------------
SQL code
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 行受影响)

*/

------解决方案--------------------
Text:123.20
你要将你需要的数字提取出来再转换,Text是数据类型还是其中的值,如值的话要截取掉包括冒号。
------解决方案--------------------
需要转换一下 
cast ,convert 都可以的
------解决方案--------------------
SQL code
Declare @Content varchar(50)--你得给你的数据赋个长度
Declare @DataValue as numeric(10,2)

------解决方案--------------------
SQL code
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

------解决方案--------------------
LZ在定义
SQL code
Declare @Content varchar