PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Hitung jumlah hari antara 2 tanggal di JPA

Sepertinya Anda mencari solusi dengan JPQL untuk melakukan kueri seperti SELECT p FROM Period p WHERE datediff(p.to, p.from) > 10 .

Saya khawatir tidak ada fungsi seperti itu di JPQL jadi saya sarankan menggunakan SQL asli. Ide Anda jika memperluas Dialek dengan SQLFunctionTemplate Hibernate sangat pintar. Saya lebih suka mengubahnya untuk menggunakan DATE_PART('day', end - start) karena ini adalah cara untuk mencapai perbedaan hari antara tanggal dengan PostgreSQL.

Anda juga dapat mendefinisikan fungsi Anda di PostgreSQL dan menggunakannya dengan kriteria function() .

'CREATE OR REPLACE FUNCTION "datediff"(TIMESTAMP,TIMESTAMP) RETURNS integer AS \'DATE_PART('day', $1 - $2);\' LANGUAGE sql;'

cb.function("datediff", Integer.class, end, start);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mendapatkan semua Bangunan dalam jangkauan 5 mil dari koordinat yang ditentukan

  2. Cara mengakses Oracle Database di PostgreSQL

  3. Bagaimana saya bisa memasukkan komentar kolom di PostgreSQL melalui Python?

  4. Partisi Replikasi Logis Dengan PostgreSQL 13

  5. array_agg untuk Tipe Array