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 :

tests sur le type de valeurs


Sujet :

MS SQL Server

  1. #1
    Membre habitué Avatar de dor_boucle
    Inscrit en
    Juin 2003
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 147
    Points : 136
    Points
    136
    Par défaut tests sur le type de valeurs
    bonjour,
    je dois implémenter une solution de controles de valeurs en SQL.
    concrètement il s'agit de tester, en sql, si une valeur est valide ou pas.
    je dois tester les types int, float et date.
    et après une petite demi heure de recherche via google et divers tutoriaux, je viens ici poser ma question...
    comment faire un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT 
       CASE 
          WHEN ma_valeur IS INTEGER THEN int
          WHEN ma_valeur IS FLOAT then float
          WHEN ma_valeur IS DATE then date
          ELSE text
       END
    ma_valeur n'est pas un champ de la base en fait...

    merci d'avance pour votre aide,
    bonne journée.
    J'ai l'impression d'engager un combat sans précédent avec la nature. Je vais bien, le moral est bon, je poursuis le vol. (Youri Gagarine)

  2. #2
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Vous n'avez la possibilité de tester si une valeur est numerique par contre, de façon natif, SQL Serveur ne vous donne pas la possibilité d'affiner le teste en cherchant à savoir si le type est int, float ...

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  3. #3
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    En complement, la validation des valeurs de la faq SQL Serveur en parle.

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  4. #4
    Membre habitué Avatar de dor_boucle
    Inscrit en
    Juin 2003
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 147
    Points : 136
    Points
    136
    Par défaut
    merci, cela repond en partie à mon problème.
    maintenant j'ai besoin de separer le float du int quand je fais un isnumeric.
    alors mon idée est de faire un
    SELECT 1
    WHERE ma_valeur LIKE '%[0123456789]%'

    en plus pour tester si c'est un entier...

    mais cela ne me semble pas tres tres propre...
    J'ai l'impression d'engager un combat sans précédent avec la nature. Je vais bien, le moral est bon, je poursuis le vol. (Youri Gagarine)

  5. #5
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Pourquoi allez-vous affiner jusqu'à ce niveau ?

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  6. #6
    Membre habitué Avatar de dor_boucle
    Inscrit en
    Juin 2003
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 147
    Points : 136
    Points
    136
    Par défaut
    bah parce que un float dans un champ qui attend du int, j'ai besoin qu'il me teste le type...
    J'ai l'impression d'engager un combat sans précédent avec la nature. Je vais bien, le moral est bon, je poursuis le vol. (Youri Gagarine)

  7. #7
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Tu n'as qu'à le faire dans ton programme client qui attaque la base.
    C'est là que tu dois faire tous les contrôles.

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  8. #8
    Membre habitué Avatar de dor_boucle
    Inscrit en
    Juin 2003
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 147
    Points : 136
    Points
    136
    Par défaut
    non en fait je suis sencé deployer une sorte de super metamodel ...
    but du jeu implémenter le plus de chose possible dans la base de données...
    j'ai donc une table t_check_field qui me stocke le type de données (int, float, date...) le message d'erreur associé, et le "masque" de controle.
    et dans une autre table j'ai defini tous les champs de ma table (les droits, le type d'affichage (liste, input, calendrier etc), le type de données.
    dans mon appli je fais appel à une PS qui me renvoie si le control associé au type du champs que je veux tester est bon ou pas...
    ca à l'air tordu comme idée comme ca, mais en fait c'est assez simple.
    alors pour le moment ce que j'ai implémenté, c'est que j'ai mis un bout de code php dans l'espace "masque" de ma table t_check_field et je fais un eval bien placé dans mon code...
    voili voulou...
    J'ai l'impression d'engager un combat sans précédent avec la nature. Je vais bien, le moral est bon, je poursuis le vol. (Youri Gagarine)

Discussions similaires

  1. test sur le type de données
    Par new_wave dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 04/06/2009, 11h33
  2. [E-03] Test sur un type de variable
    Par sincenono dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 07/03/2009, 12h59
  3. [XSLT] test sur le commencement des valeurs des attributs
    Par mimiche_fr2000 dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 22/02/2008, 13h03
  4. Test sur le type d'un TComponent
    Par pottiez dans le forum C++Builder
    Réponses: 6
    Dernier message: 06/06/2007, 20h57
  5. Test sur le type de valeur
    Par mevardy dans le forum Langage SQL
    Réponses: 4
    Dernier message: 07/08/2006, 13h43

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