Cas de déclaration qui ajoute des valeurs de la colonne
J'ai besoin d'écrire une instruction qui sera de retour
“1 of 3” if someone voted in one of three elections,
“2 of 3” if someone voted in two of three elections,
“3 of 3” if someone voted in three of three elections,
Le problème est que certaines valeurs sont un varchar et certains sont nuls et je ne peut pas les additionner.
C'est mon idée, mais je ne peux pas le faire fonctionner.
select
id,
CASE
WHEN race1 + race2 + race3 = 0 then '0-3'
WHEN race1 + race2 + race3 = 1 then '1-3'
WHEN race1 + race2 + race3 = 2 then '2-3'
WHEN race1 + race2 + race3 = 3 then '3-3'
WHEN race1 + race2 + race3 is null then 'Unknown'
END AS General_Turnout
from test4
http://sqlfiddle.com/#!3/cac66/3
OriginalL'auteur user973671 | 2012-04-11
Vous devez vous connecter pour publier un commentaire.
Cela devrait fonctionner:
OriginalL'auteur dasblinkenlight
utilisation COELESCE(valeur 0), de sorte que la valeur null est pris comme égal à zéro
Vous pouvez utiliser cast pour la conversion.Je pense que l'exemple est déjà donnée ci-dessus
OriginalL'auteur Krishnanunni Jeevan
De ce que vous avez posté sur SQLfiddle, je suppose, NULL n'a pas le droit de vote et toute chaîne de moyens ne vote. Vous ne pouvez pas ajouter le non-chaînes numériques que vous avez dans les colonnes race1, race2, et race3, mais cela devrait fonctionner:
OriginalL'auteur Steve Kass