Vous n'êtes pas identifié(e).
Pages : 1
Bonjour,
Je n'ai pas trouvé le forum SQL, je me permets donc de poster dans PL/pgSQL.
Est-il possible d'utiliser IN et LIKE à la fois ?
Je m'explique:
j'ai une liste de valeurs : PUBLICITE, CINEMA, PECHE.
j'ai une table des livres (ID,LIBELLE) :
1 LA PECHE A LA TRUITE
2 LA PECHE EN MER
3 A L'AFFICHE DU CINEMA
4 ....
5 AU CINEMA CE SOIR
6 ....
7 ....
8 TOUTE LA PUBLICITE
9 ....
je voudrai trouver tous les livres dont le libellé contient mes valeurs.
Question subsidiaire : est-ce que cela peut fonctionner également sous Oracle ?
D'avance merci pour les réponses.
Hors ligne
Je ne pense pas qu'il y ait une syntaxe simple avec IN et LIKE à la fois. Vous pouvez par contre utiliser une syntaxe d'expression régulière:
http://www.postgresql.org/docs/9.0/inte … SIX-REGEXP
Les noms des fonctions ne sont pas identiques sous Oracle, mais il y a des fonctions approchantes (mais pas d'opérateur binaire comme ~ , à ma connaissance) : http://download.oracle.com/docs/cd/B193 … regexp.htm
Marc.
Hors ligne
Vous pouvez sinon écrire une requête du genre :
SELECT * FROM livre
JOIN (SELECT 'PUBLICITE' as lib UNION SELECT 'CINEMA' UNION SELECT 'PECHE') source ON libre."LIBELLE" like '%' || source.lib || '%'
même si cela reste peu pratique.
Julien.
https://rjuju.github.io/
Hors ligne
Rebonjour,
Ok, merci à vous.
Hors ligne
Pages : 1