sql >> Database teknologi >  >> RDS >> PostgreSQL

JPA Criteria API:hvordan man henter dato i formatet mm/dd/åååå

Criteria API definerer function expression til at udføre native SQL-funktioner i CriteriaBuilder interface som følger:

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

hvor name er navnet på SQL-funktionen, type er den forventede returtype og args er en variabel liste over argumenter (hvis nogen).

Her er et eksempel på, hvordan du bruger det i en kriterieforespørgsel:

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

hvor

  • RadExamTimes :en hypotetisk rodentitet
  • MM/DD/YYYY :et databasespecifikt format (i dette eksempel Postgresql-datoformat; for Oracle brug Ora-format osv.)
  • to_char :Postgresql-funktion til at konvertere datoværdi til streng
  • begin_exam :datofeltet, der skal formateres

Formatstrengen kan ikke sendes som den er, så literal() metoden bruges til at pakke den ind.

Bemærk:Ovenstående eksempel er testet på MySQL-database med MySQL-funktion og tilsvarende datoformat; men eksemplet blev ændret til at matche Postgresql-syntaksen.



  1. Hvordan viser man data fra mysql ved hjælp af angular.js PHP?

  2. Hvad er data og information og datamængder

  3. Mysql byte array storage

  4. Slet duplikerede tags MySQL