2014-07-22 3 views
-7
SELECT IIF(ISNULL(MAX((AttTmpInOutFrmMachine.AttId))),0,MAX((AttTmpInOutFrmMachine.AttId)))+1 
FROM AttTmpInOutFrmMachine 
+9

C'est vrai, c'est le cas. Peut-être avez-vous une question? –

+0

quels sont les arguments – user3777849

+4

Eh bien, vous voyez, il y a cette chose merveilleuse appelée "moteur de recherche" où vous pouvez taper des mots comme "ISNULL" et quel que soit le produit de base de données que vous utilisez (comme SQL Server) et il devrait vous aider trouver la * documentation *. –

Répondre

1

Le deuxième argument dans ISNull est la valeur qui sera utilisée lorsque vos données de champ sont réellement nulles. Exemple:

IsNUll(someint, 0) 

le retournera au-dessus SomeInt si SomeInt non nulle, sinon, il retournera 0

+0

CHOISIR LE CAS LORSQUE ISNULL (MAX (AttTmpInOutFrmMachine.AttId), 0) ALORS 0 AUTRE MAX (AttTmpInOutFrmMachine.AttId) +1 END comme FROM AttTmpInOutFrmMachine – user3777849

0

Cela suffit

SELECT ISNULL(MAX(AttTmpInOutFrmMachine.AttId),0)+1 FROM AttTmpInOutFrmMachine 
0

La première est la valeur qui doit vérifier contre null et le second est la valeur avec cette null doit être remplacé.

Voir here pour une exmplanation pour ms-sql

Syntaxe

ISNULL (check_expression, replacement_value)
Arguments

check_expression est l'expression à vérifier pour NULL. check_expression peut être de n'importe quel type. replacement_value Est l'

expression à renvoyer si check_expression est NULL. replacement_value doit être d'un type implicitement convertible en le type de check_expresssion.

0

Comme Syntaxe IIF est:

IIF (boolean_expression, true_value, false_value) 

Je pense que vous êtes à la recherche pour la logique comme ci-dessous:

SELECT IIF(ISNULL(MAX(AttTmpInOutFrmMachine.AttId),0)=0 
      ,0 
      ,MAX(AttTmpInOutFrmMachine.AttId))+1 as NextAttId 
FROM AttTmpInOutFrmMachine 
Questions connexes