嗨,我们正在使用java中的postgress数据库和spring数据jpa存储库来使用数据。现在,我们有一个类型为“字符变化(255)”的列(版本),并且该列的数据为val1 = 11.0.2000.78
和val2 = 11.0.2000.301
当我们使用spring数据jpa存储库触发降序查询时,它会在val1
上方列出值val2
。实际上,它应该在val2
上方列出val1
。
我们知道,由于column是字符类型,因此考虑将7大于3也是问题。有什么解决办法吗?
我们希望在此类值的字符类型列上进行数字排序。 spring数据jpa存储库中有什么方法可以处理?
答案 0 :(得分:0)
CREATE TABLE tableone
(
test text
) ;
INSERT INTO tableone(test) VALUES('11.0.2000.78');
INSERT INTO tableone(test) VALUES('11.0.2000.301');
select * from tableone order by test desc;
SELECT
test
FROM
tableone order by
( CAST(
COALESCE(
NULLIF(
replace(test, '.', ''),
''),
'0')
AS numeric) ) desc;