remplacez NULL par une valeur vide ou Zero dans un serveur SQL
J'ai une table temporaire et dans celle de ma colonne total_amount
est de type entier et PAS NULL
. Alors que l'interrogation des données, j'ai reçu NULL
valeurs pour total_Amount
colonne.
Comment jamais, j'ai utilisé la syntaxe suivante pour supprimer les valeurs null mais encore les valeurs NULL apparaissant, corrigez-moi si je me trompe.
Create table #Temp1
(
issue varchar(100) NOT NULL,
total_amount int NOT NULL
)
C'est ma requête
Case when total_amount = 0 then 0
else isnull(total_amount, 0)
end as total_amount
Je suis confronté à problème à mon autre partie.
source d'informationauteur 0537
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser les FUSIONNER en fonction de renvoyer automatiquement les valeurs nulles en 0. La syntaxe est comme indiqué ci-dessous:
Les fusionner() est la meilleure solution quand il y a plusieurs colonnes [et]/[ou] des valeurs et vous souhaitez le premier. Cependant, en regardant les livres en ligne, la requête d'optimiser la convertit en une instruction case.
MSDN extrait
Les FUSIONNER expression est un raccourci syntaxique pour le CAS de l'expression.
Qui est, le code FUSIONNENT(expression1,...n) est réécrit par l'optimiseur de requête que le CAS suivant: l'expression
Avec cela dit, pourquoi pas un simple ISNULL()? Moins de code = meilleure solution?
Ici est un extrait de code.
Le dernier mais non le moins, comment êtes-vous d'obtenir des valeurs null dans une colonne not NULL?
J'ai dû changer la définition de la table pour que je puisse le programme d'installation du cas de test. Lorsque j'essaie de modifier la table pour ne PAS NULL, il échoue dans la mesure où il le fait d'une possibilité de valeur null vérifier.
Vous devez toujours remettre le même type sur tous les cas où la condition:
Dans la première, vous avez un personnage et sur l'autre vous avez un int.
Vous pouvez utiliser:
ou si vous le souhaitez avec votre solution:
Différentes façons de remplacer NULL en sql server
Remplacement de valeur NULL à l'aide de:
1. La fonction ISNULL ()
2. FUSIONNER() la fonction
3. CAS de Déclaration
Remplacer les Valeurs Null comme Vide:
ISNULL('Value','')
Remplacer les Valeurs Null 0:
ISNULL('Value',0)
Essayer Cette
OU