IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

Recherche sur champ numerique


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 4
    Par défaut Recherche sur champ numerique
    SQLEXP2005
    TSQL

    Je ne suis pas du tout informaticien et n'ai jamais dépassé le stade -initiation- du language SQL
    Pour éditer dans un rapport (Report Services) les lignes d'une table, je doit faire une selection sur une colnne de type "Int". Le métacaractère "%" n'est pas reconnu comme tel. Comment peut on faire?
    L'objectif est d'afficher toutes les lignes de la table ayant la valeur "num" de cette requette. Je ne peux pas utiliser les autres colonnes, les lignes cibles étant une valeur de base + ces valeurs numériques.
    Fichiers attachés Fichiers attachés

  2. #2
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2007
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Japon

    Informations forums :
    Inscription : Novembre 2007
    Messages : 125
    Par défaut
    Bonjour,

    pour un int.

    select * from arbo where num = 15
    select * from arbo where num <= 15
    ...
    select * from arbo where num in (15, 20)
    enfin tu as une mutitude de solutions , tout depend de ce que tu veux en retour.

    mais un bon conseil, va jeter un oeil aux tuto
    http://sqlserver.developpez.com/cours/

    bàt.

  3. #3
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 4
    Par défaut
    Bonjour Mikaeru,

    J'ai quelques difficultés à bien exprimer mon besoin. Dans "report services" il y a la possibilité de saisir des paramètres pour les associés à une fonction "Where" de la requête. Si le paramètre et de type "nchar" on peut selectionner toutes possibilité en remplaçant le texte par un "%".
    Je joins 2 copie d'écran pour illustration.
    Sur cet example la condition se fait sur une liste de valeur. Dans des requêtes plus complexe, la condition peut se faire sur une extraction partielle des lignes d'une table et la clé de recherche est le plus souvent l'ID des lignes. Dans ces conditions, pour sélectionner toutes les lignes, sans tenir compte de la valeur de l'ID, j'ai besoin d'un "métacaractère" du type "%" mais ce dernier ne marche pas avec les INT.

    J'espère avoir été plus clair (je ne suis ni pro ni fan du SQL, j'en ai simplement besoin) et te remercie de ta reponse.
    Images attachées Images attachées   

  4. #4
    Membre Expert Avatar de pacmann
    Homme Profil pro
    Consulté Oracle
    Inscrit en
    Juin 2004
    Messages
    1 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consulté Oracle
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 626
    Par défaut
    Bonjour !
    Il n'y a pas de méta caractère pour les int.
    Et on ne peut pas faire de recherche LIKE dessus.

    Une petite question :
    C'est toi qui créé la requête à partir de la saisie de l'interface ?
    Si oui, quels sont les outils à ta disposition ?
    Si tu as un petit langage, il faut que tu prennes en compte le type pour générer ta condition WHERE.

    Peux tu nous en dire un peu plus ?

  5. #5
    Candidat au Club
    Inscrit en
    Mars 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 4
    Par défaut
    Bonjour
    Si j'ai bien compris votre question: vous cherchez une valeur numerique dans une colonne qui n'est pas de type numérique!
    Essayez cette syntaxe:
    select * from table1 where isnumeric(Champ1) and convert(int,Champ1)>1

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    480
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 480
    Par défaut
    Tu peux toujours convertir ton int en varchar puis requêter dessus (mais bon côté perf c'est pas vraiment recommandé):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM maTable WHERE convert(varchar, monChampInt) LIKE '%truc%'

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Recherche sur champ texte vide impossible
    Par DelphiCool dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 14/02/2009, 17h42
  2. Requête pour une recherche sur champs multiple d'une table
    Par fred777 dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 07/10/2008, 16h33
  3. Réponses: 1
    Dernier message: 03/10/2008, 21h34
  4. recherche sur champs Varbinary
    Par isarian dans le forum Langage SQL
    Réponses: 7
    Dernier message: 30/06/2008, 09h47
  5. Recherche sur champ calculé
    Par srvremi dans le forum Bases de données
    Réponses: 5
    Dernier message: 06/07/2004, 14h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo