當我嘗試調用 JPA 函數時,這條語句出現錯誤:“:”處或附近的語法錯誤 public interface BcaTestRepository extends CrudRepository<InBodyBCA, Long> { @Query(value = "SELECT * FROM in_body_bca bca WHERE person_id = :personId " + "AND to_timestamp(bca.datetimes::text, 'YYYYMMDDHH24MISS') BETWEEN :startRange AND :endRange", nativeQuery = true) List<InBodyBCA> findAllByPersonId(@Param("personId") Long personId, @Param("startRange") LocalDateTime startRange, @Param("endRange") LocalDateTime endRange);但在 PgAdmin 中查詢工作正常SELECT id, to_timestamp(datetimes::text, 'YYYYMMDDHH24MISS') as dt FROM in_body_bca WHERE to_date(datetimes::text, 'YYYYMMDDHH24MISS')BETWEEN '2018-05-07' AND '2019-05-07' ORDER BY to_date(datetimes::text, 'YYYYMMDDHH24MISS') DESC ;
1 回答

慕碼人8056858
TA貢獻1803條經驗 獲得超6個贊
您在這里使用雙冒號:bca.datetimes::text
。JPA 會尋找text
變量名。
你需要逃避它:
bca.datetimes\\:\\:text
添加回答
舉報
0/150
提交
取消