sql >> Database >  >> RDS >> Oracle

JPQL LOWER-functie in IN-expressie

JPQL functioneert zoals ontworpen. Het interpreteert het goed, zo worden de functie en parameter in uw code gedefinieerd.

Om het gewenste resultaat met Oracle te bereiken, kunt u het ingebouwde Oracle Collection-type ODCIVARCHAR2LIST gebruiken . Dus JPQL ziet er als volgt uit:

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

OPMERKING: Voor Oracle 12.2+ heeft u geen table nodig functie, dus hieronder werkt ook:

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



  1. wat is de melding:resource id#9?

  2. Hoe krijg ik beschikbare data met reserveringen?

  3. Capistrano met PostgreSQL, fout:database wordt geopend door andere gebruikers

  4. Liquibase - controlesom verschilt per databaseleverancier