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

Hàm JPQL LOWER trong biểu thức IN

JPQL đang hoạt động như được thiết kế. Nó diễn giải đúng, đó là cách hàm &tham số được xác định trong mã của bạn.

Để đạt được kết quả mong muốn với Oracle, bạn có thể sử dụng loại Oracle Collection có sẵn ODCIVARCHAR2LIST . Vì vậy, JPQL sẽ giống như bên dưới:

SELECT e 
FROM   myentity e 
WHERE  Lower(e.myattribute) IN 
       ( 
              SELECT Lower(column_value) 
              FROM   table(sys.odcivarchar2list(?1)))

LƯU Ý: Đối với Oracle 12.2+, bạn không cần table , vì vậy bên dưới cũng sẽ hoạt động:

SELECT e 
FROM   myentity e 
WHERE  Lower(e.myattribute) IN 
       ( 
              SELECT Lower(column_value) 
              FROM   sys.odcivarchar2list(?1))



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Lỗi thủ tục được lưu trữ Oracle khi chọn

  2. Cách sử dụng kiểu BOOLEAN trong câu lệnh SELECT

  3. số hàng không hiển thị bất kỳ hàng nào khi sử dụng giữa từ khóa

  4. Làm thế nào để truy cập cơ sở dữ liệu Oracle qua mạng?

  5. Sắp xếp các ký tự trong varchar2 theo thứ tự bảng chữ cái