sql >> Databáze >  >> RDS >> Oracle

Funkce JPQL LOWER ve výrazu IN

JPQL funguje tak, jak bylo navrženo. Jeho interpretace je správná, tak jsou funkce a parametry definovány ve vašem kódu.

Chcete-li s Oracle dosáhnout požadovaného výsledku, můžete použít vestavěný typ Oracle Collection ODCIVARCHAR2LIST . JPQL tedy bude vypadat následovně:

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

POZNÁMKA: Pro Oracle 12.2+ nepotřebujete table funkce, takže níže bude fungovat také:

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



  1. Jaké je dobré bezplatné řešení RDBMS pro malý webový projekt, který se v případě úspěchu může rozrůst?

  2. Základní SQL dotazy

  3. Perfect Storm pro upgrade na moderní verzi SQL Server

  4. existuje omezení velikosti souboru při vytváření souboru csv pomocí php a mysql?