PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

JPA Criteria API:как да извлечете дата във формат mm/dd/yyyy

API за критерии дефинира function expression за изпълнение на собствени SQL функции в CriteriaBuilder интерфейс, както следва:

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

където name е името на SQL функцията, type е очакваният тип връщане и args е променлив списък от аргументи (ако има такива).

Ето пример как да го използвате в заявка за критерии:

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();

където

  • RadExamTimes :хипотетичен коренен обект
  • MM/DD/YYYY :специфичен за базата данни формат (в този пример Postgresql формат за дата; за Oracle използвайте Ora формат и т.н.)
  • to_char :Функция Postgresql за преобразуване на стойност на дата в низ
  • begin_exam :полето за дата, което трябва да бъде форматирано

Форматиращият низ не може да бъде предаден такъв, какъвто е, така че literal() се използва метод за обвиване.

Забележка:Горният пример е тестван върху MySQL база данни с MySQL функция и съответния формат на датата; но примерът е променен, за да съответства на синтаксиса на 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. PostgreSQL наследяване с JPA, хибернация

  2. Кой е най-бързият начин за възстановяване на статистиката на PostgreSQL от нула/нулата с ANALYZE?

  3. Мога ли да добавя УНИКАЛНО ограничение към PostgreSQL таблица, след като вече е създадена?

  4. Дата в милисекунди / милисекунди до дата

  5. Динамично генериране на колони за кръстосана таблица в PostgreSQL