SQL从序列中排除值

时间:2018-12-17 09:06:09

标签: sql db2

我有此代码,可用于查找序列中的下一个可用数字。例如下面的数据:

YEBX0001
YEBX0002
YEBX0003
YEBXTEMP - This is the Problem in the Source Data.

下面的查询返回

NULL
YEBX003
YEBX002
YEBX001

如何更改下面的查询以排除YEBXTEMP值?因为这就是导致Null而不是序列中的数值的原因。

代码:

 select concat(left(mmitno,4),concat(repeat('0', 4-length(trim(RIGHT(TRIM
 (MMITNO),4)+0 ))),trim(RIGHT(TRIM(MMITNO),4)+0 ))) FROM MITMAS 
 WHERE MMITNO LIKE CONCAT(LEFT('YEBX0001',4),'%') and mmitty in (95,96) 
 ORDER BY MMITNO DESC

1 个答案:

答案 0 :(得分:0)

select concat(left(mmitno,4),concat(repeat('0', 4-length(trim(RIGHT(TRIM
 (MMITNO),4)+0 ))),trim(RIGHT(TRIM(MMITNO),4)+0 ))) FROM MITMAS 
 WHERE MMITNO LIKE CONCAT(LEFT('YEBX0001',4),'%') and mmitty in (95,96) 

和MMITNO <>'YEBXTEMP'

ORDER BY MMITNO DESC