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 :

Comment tester si la valeur est supérieure à 1 et de type integer ? [FAQ]


Sujet :

MS SQL Server

  1. #1
    Membre régulier Avatar de innova
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    185
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 185
    Points : 109
    Points
    109
    Par défaut Comment tester si la valeur est supérieure à 1 et de type integer ?
    Bonjour,

    Comment tester une valeur afin de s'assurer :

    - type integer.
    - supérieur à 1.

    Merci
    ++

  2. #2
    Membre éprouvé
    Avatar de HULK
    Inscrit en
    Juillet 2003
    Messages
    1 276
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 276
    Points : 1 281
    Points
    1 281

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 434
    Points : 502
    Points
    502
    Par défaut
    Bonjour,

    non... ISNUMERIC te dit si c'est un numerique. Donc un entier ou un decimal, ou un float, ...
    La preuve :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    declare @toto float
    set @toto = 1.25
    declare @tata int
    set @tata = 12
    select isnumeric(@toto)
    select isnumeric(@tata)
     
    --resultat :
    1
    1
    --ISNUMERIC donne le même resultat
    Par contre j'avoue ne pas savoir comment tester si une valeur est entière numérique, sauf à faire sa propre fonction.

    Cdlt

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 922
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 922
    Points : 51 717
    Points
    51 717
    Billets dans le blog
    6
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SQL_VARIANT_PROPERTY (213, 'BaseType' ) = 'int'
    A +

  5. #5
    Membre éprouvé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 730
    Points : 923
    Points
    923
    Par défaut
    si ton champ n'est pas un sql_variant ca marche ?

    sinon tu peux tester
    (ASCII(champ1) > 47) And (ASCII(champ1)< 58))

  6. #6
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 922
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 922
    Points : 51 717
    Points
    51 717
    Billets dans le blog
    6
    Par défaut
    si ton champ n'est pas un sql_variant ca marche ?
    Il suffit de faire fonctionner l'exemple que j'ai donné pour s'en rendre compte !!!

  7. #7
    Membre régulier Avatar de innova
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    185
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 185
    Points : 109
    Points
    109
    Par défaut
    Citation Envoyé par SQLpro
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SQL_VARIANT_PROPERTY (213, 'BaseType' ) = 'int'
    A +
    Bonjour,

    j'obtiens une erreur avec le code que tu as donné...

    Server: Msg 170, Level 15, State 1, Line 1
    Line 1: Incorrect syntax near '213'.

    Merci
    ++

  8. #8
    Membre éprouvé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 730
    Points : 923
    Points
    923
    Par défaut
    il te faut mettre:


    select SQL_VARIANT_PROPERTY (213, 'BaseType' ) ,
    SQL_VARIANT_PROPERTY (21.3, 'BaseType' ),
    SQL_VARIANT_PROPERTY ('213', 'BaseType' )

    et regarde le résultat

    A+
    serge

  9. #9
    Membre régulier Avatar de innova
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    185
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 185
    Points : 109
    Points
    109
    Par défaut
    Citation Envoyé par serge0934
    il te faut mettre:


    select SQL_VARIANT_PROPERTY (213, 'BaseType' ) ,
    SQL_VARIANT_PROPERTY (21.3, 'BaseType' ),
    SQL_VARIANT_PROPERTY ('213', 'BaseType' )

    et regarde le résultat

    A+
    serge
    re,


    Comment tu mets cela dans une variable ?

    Comment vérifier en plus que c'est supérieur à 1 ?

    Merci
    ++

  10. #10
    Membre éprouvé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 730
    Points : 923
    Points
    923
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    declare @toto varchar(50)
     
    set @toto=21
     
    if SQL_VARIANT_PROPERTY (@toto, 'BaseType' ) ='int'
      begin
      end
    A+
    serge

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

Discussions similaires

  1. [RegEx] Comment tester si une valeur est composée de chiffres ?
    Par syrine01 dans le forum Langage
    Réponses: 2
    Dernier message: 19/12/2013, 10h58
  2. Réponses: 0
    Dernier message: 21/08/2013, 13h05
  3. Réponses: 8
    Dernier message: 18/12/2009, 14h58
  4. Comment tester qu'une valeur est dans un tableau ?
    Par Pierrot92320 dans le forum MATLAB
    Réponses: 3
    Dernier message: 18/04/2009, 19h59
  5. Réponses: 3
    Dernier message: 07/10/2005, 10h34

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