-1
votes

Paramètre séparé par virgule Oracle SQL dans la clause

Ma table ressemble à: xxx pré>

ma requête p> xxx pré>

Lorsque j'entraîne 102, il retourne: P>

+----------+----------+
|stud_id   |stud_name |
+----------+----------+
|102       |B         |
|103       |C         |
|104       |D         |
+----------+----------+


1 commentaires

3 Réponses :


1
votes

Vous pouvez utiliser regexp_substr avec Connectez-vous par pour cela. xxx

acclamations !!


0 commentaires

0
votes

ci-dessous la requête vous demandera 3 valeurs d'entrée et vous obtiendrez le résultat souhaité

SELECT * FROM students_tbl stud WHERE stud.stud_id IN (:s_id,:s_id1,:s_id2);


0 commentaires

1
votes

Vous n'avez pas besoin de diviser la valeur de la variable de liaison; Une solution plus rapide consiste à voir si l'identifiant (plus des délimiteurs environnants) est une sous-chaîne de la variable de liaison (avec des délimiteurs de pointe et de la fin): xxx


2 commentaires

Je voudrais simplement souligner que cette construction vous empêche d'utiliser un index sur stud_id . Probablement pas critique si la table a quelques centaines d'étudiants. Si la table a quelques centaines de milliers d'étudiants, cela va coûter cher.


Si vous vouliez vraiment que vous puissiez passer : s_id en tant que tableau Tableau de numéro et utilisation où stud_id membre STUST_ID de: s_id .