HQL 按名称排序忽略可选的 'The ' 前缀
HQL sort by name ignoring optional 'The ' prefix
所以我有一个命名查询,它搜索记录并按名为 fullName 的列对结果进行排序。其中一些全名以 'The ' 为前缀 - 我想修改查询以忽略这些特定前缀。这是当前命名查询的简化版本,其中包含条件的缩减列表:
select r from Record r where r.available = true ORDER BY r.fullName asc
试试这个:
select r
from Record r
where r.available = true
ORDER BY
CASE
WHEN r.fullName LIKE "The%" THEN SUBSTRING(r.fullName, 5)
ELSE r.fullName
END asc
所以我有一个命名查询,它搜索记录并按名为 fullName 的列对结果进行排序。其中一些全名以 'The ' 为前缀 - 我想修改查询以忽略这些特定前缀。这是当前命名查询的简化版本,其中包含条件的缩减列表:
select r from Record r where r.available = true ORDER BY r.fullName asc
试试这个:
select r
from Record r
where r.available = true
ORDER BY
CASE
WHEN r.fullName LIKE "The%" THEN SUBSTRING(r.fullName, 5)
ELSE r.fullName
END asc