Deposit_number
--------------
D100000
D99999
D50
.....
D4
D3
D2
D1
我试图通过使用以下jpa查询来获取记录
Deposit findTopByCompanyOrderByDepositNumberDesc(Company company);
但结果我得到了一张包含 'D99999'
我期待着10万美元。如果有人有办法解决这个问题,请帮忙。我想使用jpa查询来解决这个问题,而不是使用sql本地查询。
Deposit_number
--------------
D100000
D99999
D50
.....
D4
D3
D2
D1
我试图通过使用以下jpa查询来获取记录
Deposit findTopByCompanyOrderByDepositNumberDesc(Company company);
但结果我得到了一张包含 'D99999'
我期待着10万美元。如果有人有办法解决这个问题,请帮忙。我想使用jpa查询来解决这个问题,而不是使用sql本地查询。
1条答案
按热度按时间rsaldnfx1#
问题是你的
Deposit_number
列是文本,但您希望数字按数字而不是文本排序。假设D
是一个常量前缀,并且只有非数字字符,在整个列中,我们可以尝试以下mysql查询:这个问题看起来难看吗?是的,确实如此,但是你储存存款号码的方式也很难看。如果您不想使用上述查询,那么可以考虑将存款号码存储在单独的列中。