sql >> Database teknologi >  >> RDS >> Oracle

JPQL LOWER-funktion i IN-udtryk

JPQL fungerer som designet. Det fortolker det rigtigt, det er sådan funktionen og parameteren er defineret i din kode.

For at opnå det ønskede resultat med Oracle kan du bruge den indbyggede Oracle Collection type ODCIVARCHAR2LIST . Så JPQL vil se ud som nedenfor:

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

BEMÆRK: Til Oracle 12.2+ behøver du ikke table funktion, så nedenfor vil også virke:

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



  1. MYSQL - tyrkisk karakter

  2. Ydervalgt kolonneværdi i tilsluttet underforespørgsel?

  3. Sådan bygger du et JSON-array fra mysql-databasen

  4. Gennemsnit af datoer i oracle sql