Bonjour,
Comment tester une valeur afin de s'assurer :
- type integer.
- supérieur à 1.
Merci
++
Version imprimable
Bonjour,
Comment tester une valeur afin de s'assurer :
- type integer.
- supérieur à 1.
Merci
++
avec ISNUMERIC
http://msdn2.microsoft.com/fr-fr/library/ms186272.aspx
Bonjour,Citation:
Envoyé par HULK
non... ISNUMERIC te dit si c'est un numerique. Donc un entier ou un decimal, ou un float, ...
La preuve :
Par contre j'avoue ne pas savoir comment tester si une valeur est entière numérique, sauf à faire sa propre fonction.Code:
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
Cdlt
A +Code:SQL_VARIANT_PROPERTY (213, 'BaseType' ) = 'int'
si ton champ n'est pas un sql_variant ca marche ?
sinon tu peux tester
(ASCII(champ1) > 47) And (ASCII(champ1)< 58))
Il suffit de faire fonctionner l'exemple que j'ai donné pour s'en rendre compte !!!Citation:
si ton champ n'est pas un sql_variant ca marche ?
Bonjour,Citation:
Envoyé par SQLpro
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
++
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,Citation:
Envoyé par serge0934
Comment tu mets cela dans une variable ?
Comment vérifier en plus que c'est supérieur à 1 ?
Merci
++
A+Code:
1
2
3
4
5
6
7 declare @toto varchar(50) set @toto=21 if SQL_VARIANT_PROPERTY (@toto, 'BaseType' ) ='int' begin end
serge