PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

API tiêu chí JPA:cách truy xuất ngày ở định dạng mm / dd / yyyy

API tiêu chí xác định function expression để thực thi các hàm SQL gốc trong CriteriaBuilder giao diện như sau:

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

nơi name là tên của hàm SQL, type là loại trả lại mong đợi và args là một danh sách các đối số có thể thay đổi (nếu có).

Dưới đây là một ví dụ về cách sử dụng nó trong truy vấn Tiêu chí:

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

ở đâu

  • RadExamTimes :một thực thể gốc giả định
  • MM/DD/YYYY :định dạng dành riêng cho cơ sở dữ liệu (trong ví dụ này là định dạng ngàyPostgresql; đối với Oracle, hãy sử dụng định dạng Ora, v.v.)
  • to_char :Hàm postgresql để chuyển đổi giá trị ngày tháng thành chuỗi
  • begin_exam :trường ngày sẽ được định dạng

Chuỗi định dạng không thể được chuyển như vậy để literal() phương pháp được sử dụng để bọc nó.

Lưu ý:Ví dụ trên được thử nghiệm trên cơ sở dữ liệu MySQL với hàm MySQL và định dạng ngày tháng tương ứng; nhưng ví dụ đã thay đổi để phù hợp với cú pháp 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 k-láng giềng gần nhất (KNN) trên khối lập phương đa chiều

  2. Postgres COUNT số giá trị cột với INNER JOIN

  3. Chọn các hàng không có trong bảng khác

  4. Spring Boot Appllication. Batch không hoạt động trong phương thức JpaRepository.saveAll

  5. Rails Migration:Bigint trên PostgreSQL dường như không thành công?