PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

JPA Criteria API:jak pobrać datę w formacie mm/dd/rrrr

Kryteria API definiuje function expression do wykonywania natywnych funkcji SQL w CriteriaBuilder interfejs w następujący sposób:

<T> Expression<T> function(String name, Class<T> type, Expression<?>... args);

gdzie name to nazwa funkcji SQL, type jest oczekiwanym typem zwracanym i args jest zmienną listą argumentów (jeśli istnieje).

Oto przykład, jak go użyć w zapytaniu kryterialnym:

CriteriaBuilder cb = entityManager.getCriteriaBuilder();
CriteriaQuery cq = cb.createQuery(String.class);
Root<RadExamTimes> root = cq.from(RadExamTimes.class);
cq.select( cb.function("to_char", String.class, root.get("begin_exam"), cb.literal("MM/DD/YYYY")));

TypedQuery<String> query = entityManager.createQuery(cq);
List<String> result = query.getResultList();

gdzie

  • RadExamTimes :hipotetyczna jednostka główna
  • MM/DD/YYYY :format specyficzny dla bazy danych (w tym przykładzie format daty Postgresql; dla Oracle użyj formatu Ora itp.)
  • to_char :Funkcja Postgresql do konwersji wartości daty na ciąg
  • begin_exam :pole daty do sformatowania

Ciąg formatu nie może być przekazany tak, jak jest, więc literal() metoda jest używana do jej owinięcia.

Uwaga:Powyższy przykład jest testowany na bazie danych MySQL z funkcją MySQL i odpowiednim formatem daty; ale przykład został zmieniony, aby pasował do składni Postgresql.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Określ schemat PostgreSQL w Django

  2. Używanie słownika do przekazywania parametrów do instrukcji postgresql w pythonie

  3. Entity Framework core — zawiera czy wielkość liter jest rozróżniana lub wielkość liter nie jest rozróżniana?

  4. postgres do MS Access

  5. Jak obniżyć/mieć poprzednią wersję Postgres DB w Postgres.app