我的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后也无法提供正确的输出
答案 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%')
)