sql server - Cant Print Int after varchar -
why can't print deptid integer?
alter proc spgetnamebyid @id int, @name varchar(50) output, @gender varchar (50) output, @deptid int output begin select @name = name, @gender = gender , @deptid = deptid tblemployee id = @id end declare @getname varchar(50), @getgender varchar(50), @getdeptid int execute spgetnamebyid 1, @getname out, @getgender out, @getdeptid out print 'name of employee ' + @getname + ' gender ' + @getgender + 'dept id ' + @getdeptid my error
msg 245, level 16, state 1, line 3
conversion failed when converting varchar value 'name of employee john gender maledept id ' data type int.
the @getdeptid integer value, need convert varchar before concatenating string
print 'name of employee ' + @getname + ' gender ' + @getgender + 'dept id ' + cast(@getdeptid varchar(10)) reason
when not explicitly convert int value varchar before concatenating , int being higher prescience data type, sql server tries convert string int , fails, hence error message.
Comments
Post a Comment