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

不允许从数据类型 money 到 nvarchar 的隐性转换。
declare @no_price money
set @no_price=426764.0900
print @no_price

提示:
服务器: 消息 257,级别 16,状态 3,行 3
不允许从数据类型 money 到 nvarchar 的隐性转换。请使用 CONVERT 函数来运行此查询。

求解,各位高手!

------解决方案--------------------
SQL code
select convert(nvarchar(32),column) from tab

------解决方案--------------------
那就是用convert

declare @m money
set @m='2342.33'
select convert(varchar(10),@m)

 

------解决方案--------------------
SQL code
declare @no_price money
set @no_price=426764.0900
select CONVERT(nvarchar(32),@no_price)
print @no_price
/*
(无列名)
426764.09
*/

------解决方案--------------------
SQL code
declare @no_price decimal(18,4)
set @no_price=426764.0900

Exec('UPDATE 表 SET no_price = ' +@no_price+ ' WHERE id=1749')

------解决方案--------------------
任君选择

declare @no_price money
set @no_price=426764.0900

declare @sql varchar(8000)
set @sql = 'UPDATE 表 SET no_price = ' +convert(varchar,@no_price,2)+ ' WHERE id=1749'

Exec(@sql)
[code=SQL][/code]