在 Intellij Spring Boot 的 psql 中根据生日计算年龄
Calculate age from birthdate in psql in Intellij Spring Boot
我将 Intellij 与 Spring Boot 一起使用。在我的 PSQL 数据库中,我有一个名为 dob(出生日期)的列,我想使用 @Query 注释从出生日期中提取该人的年龄,并获取所有年龄超过 60 岁的男性。我已经尝试这样做但是没有结果。你有什么建议吗?
public interface PersonRepo extends JpaRepository<Person, Long> {
Person findByUsername(String username);
@Query("select new com.example.personservice.dto.MalesCovidOverSixty(p.gender,count(p.gender)) " +
"from Person p " +
"where p.gender='Male' " +
"and p.covid='t' " +
"and age(p.dob,current_date)>'20' " +
"group by p.gender " +
"order by count(p.gender) desc")
List<MalesCovidOverSixty>findMalesCovidOverSixty();
}
在 Postman 中,它给了我空的 brancets []。
在 Person.class 中,dob 被设置为 LocalDate。
我的数据库中有一个超过 20 岁的男性,所以我一开始就尝试了这个。
好的找到答案了!我 post 以防其他人遇到同样的问题。
"and extract(year from(age(current_date, p.dob)))>'60' " +
我将 Intellij 与 Spring Boot 一起使用。在我的 PSQL 数据库中,我有一个名为 dob(出生日期)的列,我想使用 @Query 注释从出生日期中提取该人的年龄,并获取所有年龄超过 60 岁的男性。我已经尝试这样做但是没有结果。你有什么建议吗?
public interface PersonRepo extends JpaRepository<Person, Long> {
Person findByUsername(String username);
@Query("select new com.example.personservice.dto.MalesCovidOverSixty(p.gender,count(p.gender)) " +
"from Person p " +
"where p.gender='Male' " +
"and p.covid='t' " +
"and age(p.dob,current_date)>'20' " +
"group by p.gender " +
"order by count(p.gender) desc")
List<MalesCovidOverSixty>findMalesCovidOverSixty();
}
在 Postman 中,它给了我空的 brancets []。 在 Person.class 中,dob 被设置为 LocalDate。 我的数据库中有一个超过 20 岁的男性,所以我一开始就尝试了这个。
好的找到答案了!我 post 以防其他人遇到同样的问题。
"and extract(year from(age(current_date, p.dob)))>'60' " +