22,209
社区成员
发帖
与我相关
我的任务
分享
set @iSumAmount=(cast(ltrim(rtrim(isnull(@iExchangeMoney, '0'))) as numeric(10,2) )+cast(ltrim(rtrim(isnull(@replace, '0'))))as numeric(10,2))
用 isnumeric(字段名)=0 来过滤
declare @iSumAmount decimal(10,2)
declare @iExchangeMoney NVARCHAR(10)
declare @replace NVARCHAR(10)
if isnumeric(@iExchangeMoney)=0
set @iExchangeMoney='0'
if isnumeric(@replace)=0
set @replace='0'
select @iExchangeMoney,@replace
/*
---------- ----------
0 0
(1 行受影响)
*/
declare @iSumAmount decimal(10,2)
declare @iExchangeMoney NVARCHAR(10)
declare @replace NVARCHAR(10)
if @iExchangeMoney is NULL
set @iExchangeMoney='0'
if @replace is NULL
set @replace='0'
--问题在这句:
set @iSumAmount=convert(decimal(10,2),ltrim(rtrim(@iExchangeMoney)))+convert(decimal(10,2),ltrim(rtrim(@replace)))
/*
The command(s) completed successfully.
*/