我有一列(状态),值将是等待或 on_process 或完成。我会检查 velue 是否在等待,所以我会得到最大数字(例如 waiting1,waiting2 --> 所以最大值是 waiting2)然后我会 +1 它的最大值,所以下一个状态将是 waiting3..
col_status
waiting1
waiting2
on_process
完成
......
这是我的代码:
create PROCEDURE SP_queue
AS
BEGIN
DECLARE @NEWID VARCHAR(5);
select @NEWID = max(convert(int,SUBSTRING(status, 8, 2))) FROM myTable
SELECT 'Waiting'+convert(VARCHAR, @NEWID+1)
END
但是如果该列有另一个值(例如on_process),我有错误..所以任何人都可以帮助我如何使用if语句检查,如果值正在等待,那么将获得最大值,如果值是on_process /完成然后什么都不做..
谢谢..