Précédent   Forum des professionnels en informatique > Bases de données > Langage SQL
Langage SQL Forum d'entraide sur le langage SQL et sur les questions liées à la conception de schéma (DDL). Cours SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/02/2011, 17h39   #1
Membre actif
 
Avatar de Jacobian
 
Inscription : février 2008
Messages : 394
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 394
Points : 161
Points : 161
Par défaut select from where in (varchar2)

Bonjour,j'ai la requête sql suivante:

Code :
SELECT * FROM t_deam d WHERE d.att IN ('H1','H2');
dans la procédure stockée je passe la valeur 'H1','H2' comme paramètre de type varchar2 et il est de type 'H,H2' pour ça j'ajoute la fonction concat pour ajouter l'apostrophe entre les virgules:

Code :
SELECT * FROM t_deam d WHERE d.att IN (CONCAT(CONCAT('''', REPLACE('H1,H2',',',''',''')),''''));
mon problème c'est que cette dernière requête ne donne rien,

par contre la requête:

Code :
SELECT CONCAT(CONCAT('''', REPLACE('H1,H2',',',''',''')),'''') FROM dual;
affiche bien:''H1','H2''
Jacobian est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2011, 22h58   #2
Modérateur
 
Avatar de al1_24
 
Homme Alain
Ingénieur d'études décisionnel
Inscription : mai 2002
Messages : 4 443
Détails du profil
Informations personnelles :
Nom : Homme Alain
Âge : 51
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études décisionnel
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 4 443
Points : 7 528
Points : 7 528
C'est tout à fait normal.
La fonction CONCAT() construit une chaine de caractères en concaténant deux sous-chaines.
La requête que tu tentes d'exécuter est la suivante :
Code :
1
2
3
SELECT * 
FROM t_deam d 
WHERE d.att IN ('''H1'',''H2''');
En clair, tu cherches la chaine "'H1', 'H2'", qui n'est pas comparable à l'ensemble composé des deux chaines "H1" et "H2".
__________________
Modérateur Langage SQL
Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
N'oubliez pas le bouton et pensez aux balises [code]
Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
al1_24 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2011, 12h38   #3
Membre actif
 
Avatar de Jacobian
 
Inscription : février 2008
Messages : 394
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 394
Points : 161
Points : 161
oui c'est ça merci
Jacobian est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h16.


 
 
 
 
Partenaires

Hébergement Web