获取下一个交易号码

时间:2015-12-11 16:05:09

标签: sql sqlite

我的Transaction_ID(varchar)包含以下模式

DXB1
DXB2
.....
DXB15
...
DXB200

下一个transaction_id是DXB201,如何从SQL查询中获取那个

我正在使用

SELECT  MAX(transaction_id) AS Expr1
FROM    transaction_master
WHERE   (transaction_id LIKE 'DXB%')

但是,即使DXB15存在,查询返回DXB9后也无法提供正确的输出

1 个答案:

答案 0 :(得分:2)

如果DXB部分后面的所有字符都是数字,则以下内容应该有效:

Select  'DXB' || Next As NextTransactionId
From
(
  Select    Max(Cast(Replace(Transaction_Id, 'DXB', '') As Int)) + 1 As Next
  FROM      transaction_master
  WHERE     (transaction_id LIKE 'DXB%')
)

SQLFiddle