sql >> Databáze >  >> RDS >> Mysql

Použijte regulární výrazy v JPA CriteriaBuilder

Shoda vzorů v dotazech JPA je omezena pouze na

  • _ - libovolný znak
  • % - libovolný řetězec

REGEXP má v MySQL syntaxi operátora (SELECT 'a' REGEXP 'A' ), takže jej nelze použít s CriteriaBuilder.function() API. Obávám se, že nejlepší je spustit nativní SQL dotaz.

Pokud používáte režim spánku, máte ještě jednu možnost. Můžete zabalit REGEXP operátor v SQLFunctionTemplate , rozšířit hibernační dialekt a spusťte pomocí CriteriaBuilder.function() .



  1. MySQL automaticky přenáší/převádí řetězec na číslo?

  2. Existuje způsob, jak vypočítat opakující se výpočty pouze jednou v SQL?

  3. Dotaz MYSQL pomocí proměnné jako názvu tabulky v LEFT JOIN

  4. Mám v SQL Server vytvořit index pro sloupec identity, nebo se vytváří automaticky?