PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Doctrine Symfony2 - Clause ILIKE pour PostgreSQL ?

Je ne connais pas Symfony, mais vous pouvez remplacer

a ILIKE b

avec

lower(a) LIKE lower(b)

Vous pouvez également essayer l'opérateur ~~* , qui est synonyme de ILIKE Il a une priorité d'opérateur légèrement inférieure, vous pourriez donc avoir besoin de parenthèses pour les chaînes concaténées là où vous ne le feriez pas avec ILIKE

a ILIKE b || c

devient

a ~~* (b || c)

Le manuel sur le pattern matching, commençant par LIKE / ILIKE .

Je pense que ce type a eu le même problème et a obtenu une réponse :
http://forum.symfony-project.org/viewtopic.php?f=23&t=40424

Évidemment, vous pouvez étendre Symfony2 avec des fonctions spécifiques au fournisseur SQL :
http://docs.doctrine-project.org/projects/doctrine-orm/en/2.1/cookbook/dql-user-defined-functions.html

Je ne suis pas un fan des ORM et des frameworks massacrant les riches fonctionnalités de Postgres juste pour rester "portable" (ce qui ne fonctionne presque jamais).