DECLARE @RW numeric(18, 2)
set @RW=100.3
declare @sql varchar(8000)
set @sql='select [USERNAME],[USERID],'+ @RW +' FROM DT
提示:从数据类型 varchar 转换为 numeric 时出错。可是@RW是numeric类型啊。
set @RW=100.3
declare @sql varchar(8000)
set @sql='select [USERNAME],[USERID],'+ @RW +' FROM DT
提示:从数据类型 varchar 转换为 numeric 时出错。可是@RW是numeric类型啊。
DECLARE @RW numeric(18, 2)
set @RW=100.3
declare @sql varchar(8000)
set @sql='select [USERNAME],[USERID],'+ @RW +' FROM DT'
exec (@sql)刚刚没写完整。
set @RW=100.3
declare @sql varchar(8000)
set @sql='select [USERNAME],[USERID],'+ rtrim(@RW) +' FROM DT'
set @RW=100.3
declare @sql varchar(8000)
set @sql='select [USERNAME],[USERID],'+ rtrim(@RW) +' FROM DT'
exec (@sql)
set @RW=100.3
declare @sql varchar(8000)
set @sql='select [USERNAME],[USERID],'+ Cast(@RW As Varchar) +' FROM DT'
exec (@sql)
上面的 @RW 要转换为字符串,才可以和左右的字符串连接,可改为ltrim(@RW)
即:set @sql='select [USERNAME],[USERID],'+ ltrim(@RW) +' FROM DT'
set @RW=100.3
declare @sql varchar(8000)
set @sql='select [USERNAME],[USERID],'+convert(varchar(10),@RW) +' FROM DT'
exec (@sql)
--再贴一个
--如果变量是字段名的话
DECLARE @RW numeric(18, 2)
set @RW=100.3
declare @sql varchar(8000)
set @sql='select [USERNAME],[USERID],'+ ltrim(@RW) +' FROM DT'
exec (@sql)
--如果就是要输出值的话
DECLARE @RW numeric(18, 2)
set @RW=100.3
declare @sql varchar(8000)
set @sql='select [USERNAME],[USERID],'''+ ltrim(@RW) +''' FROM DT'
exec (@sql)
DECLARE @RW numeric(18, 2),@SQL nvarchar(4000);
set @RW=100.3
set @sql='select [USERNAME],[USERID],'+convert(varchar(18),@RW) +' FROM DT'
exec (@sql)
DECLARE @RW numeric(18, 2)
set @RW=100.3
declare @sql varchar(8000)
set @sql='select [USERNAME],[USERID],'+ ltrim(@RW) +' FROM DT'
exec (@sql)