Comment gérer les valeurs NULL avec les champs de type numérique dans le curseur?
Comment gérer les valeurs NULL dans les champs retournés par curseur Sélectionnez stament, pour gérer efficienly aritmetic opérations ?
Je pense que nous avons besoin de voir plus de ce que vous faites pour comprendre comment vous aider. Pourquoi êtes-vous à l'aide d'un curseur? Il est généralement une mauvaise pratique.
C'est un curseur avec un peu d'enregistrements, j'ai besoin de iteract avec chaque enregistrement de filtre avec des instructions if, elseif, else conditions pour faire de différentes aritmetics opérations, sinon j'ai utilisé plusieurs sélectionnez staments, peut-être à maney procédures.
C'est un curseur avec un peu d'enregistrements, j'ai besoin de iteract avec chaque enregistrement de filtre avec des instructions if, elseif, else conditions pour faire de différentes aritmetics opérations, sinon j'ai utilisé plusieurs sélectionnez staments, peut-être à maney procédures.
OriginalL'auteur RicardoBalda | 2009-11-24
Vous devez vous connecter pour publier un commentaire.
Ne pas utiliser des curseurs.
Si vous devez (vraiment?), vous pouvez utiliser la fonction ISNULL:
vous donnera un "0" (zéro) au lieu de NULL.
OriginalL'auteur marc_s
remplacera
value
avecreplacement
sivalue
EST NULLhttp://msdn.microsoft.com/en-us/library/ms184325.aspx
OriginalL'auteur Nick Spiers
En supposant que vous ne pouvez pas éviter un curseur dans la première place, je ne comprends pas pourquoi une
NULL
seraient traitées de manière différente dans une variable que vous le feriez dans une requête, il estINSULL
,COALESCE
,CASE WHEN
etc.Une chose intéressante:
Vous ne pourrez pas nécessairement distinguer un non initialisée
@v
à partir de quand la dernière ligne du@v
paramètre a étéNULL
.OriginalL'auteur Cade Roux