我定义了一个char变量,设初值为‘C801',如下:
declare @课程号 char(10)
set @课程号='C801'
set @课程号=@课程号+1
运行提示将 varchar 值 'C801 ' 转换为数据类型为 int 的列时发生语法错误。
我的意思是想让@课程号变为'C802', 该怎么做啊?
我定义了一个char变量,设初值为‘C801',如下:
declare @课程号 char(10)
set @课程号='C801'
set @课程号=@课程号+1
运行提示将 varchar 值 'C801 ' 转换为数据类型为 int 的列时发生语法错误。
我的意思是想让@课程号变为'C802', 该怎么做啊?
declare @课程号 char(10)
set @课程号='C801'
set @课程号='C'+cast(cast(substring(@课程号,2,len(@课程号)-1) as int)+1,as varchar)
set @课程号=cast(@课程号 as int)+1
不过这种转换应该是无法通过把
set @课程号=left(@课程号,1)+(cast(right(@课程号,3) as int)+1)
把后面的单独出来转换为整形