Je veux afficher un champ vide au lieu de la valeur zéro du champ Expression. Si exp est du type INT. chaque fois que j'essaie d'utiliser (cas où exp1 est 0 alors '' else exp1 finit comme exp1) mais il obtient toujours 0 comme sortie. toute aide appréciée. MerciRemplacer 0 par des espaces
Répondre
Si exp
est un type numérique, vous devrez le convertir en chaîne en utilisant CAST
or CONVERT
. En outre, je ne crois pas exp1 is 0
fonctionnera; Je pense que vous cherchez exp1 = 0
à la place.
Essayez quelque chose comme ceci:
(case when exp1 = 0 then '' else cast(exp1 as varchar(30)) end) as exp1
(case when exp1 = 0 then '' else convert(varchar(30), exp1) end) as exp1
Ou en utilisant une simple expression CASE
, comme ceci:
(case exp1 when 0 then '' else cast(exp1 as varchar(30)) end) as exp1
(case exp1 when 0 then '' else convert(varchar(30), exp1) end) as exp1
Note: La longueur par défaut pour varchar
et nvarchar
dans CAST
et CONVERT
est 30, donc cast(exp1 as varchar)
ou convert(varchar, exp1)
fonctionnerait aussi, mais en pratique, il est préférable de spécifier les longueurs de ces types chaque fois que vous utilisez t ourlet.
Cependant, si ce que vous préférez faire est de convertir la valeur 0 à null
, il est assez facile. Il suffit d'utiliser NULLIF
:
nullif(exp1, 0) exp1
Cela renverra NULL
si exp1
à 0 évalue, sinon elle retournera la valeur de exp1
. Lorsque vous insérez cette valeur dans une table, assurez-vous que la colonne dans laquelle vous l'insérez est nullable. Si vous n'êtes pas familier avec l'utilisation de null, consultez le Wikipedia article sur le sujet pour plus d'informations.
[S'il vous plaît ne soyez pas paresseux à propos de varchar vs varchar (n)] (http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/09/bad-habits-to -kick-declaring-varchar-without-length.aspx) –
@AaronBertrand J'avais en fait 'varchar (30)' au début mais je l'ai laissé tomber pour rendre le code plus compact et parce que je pensais que OP préfèrerait ça. Mais vous avez raison, il est préférable d'être explicite à propos de ces choses. Quoi qu'il en soit, merci pour l'article. –
indiquant toujours 0 dans ces champs. J'ai source-table où hauteur et poids sont dans varchar() et destination-table la hauteur et le poids sont en numeric(). Je veux insérer les données source dans la destination. Mais le problème ici est le champ de hauteur et de poids continue à apparaître comme zéro dans la destination, chaque fois qu'il n'a pas de valeur. Je veux juste la hauteur vierge, id poids b25 146 162 t41 135 G89 201 tableB destination id hauteur poids B25 146 162 135 0 t41 G89 0 201 – user3502587
J'utilisé RegEx
{
cast(trim(
replace(to_char(value),'0','')) as int)
}
- 1. Remplacer toutes les puces par des espaces
- 2. Remplacer le texte par des espaces et des caractères spéciaux
- 3. javascript - Remplacer les espaces par une chaîne
- 4. regex remplacer par espaces blancs optionnels
- 5. Remplacer des onglets ou des espaces multiples
- 6. Flex: remplacer tous les espaces par des virgules
- 7. Style tabulation: remplacer les espaces par des points
- 8. Remplacer% 20 par des espaces lors du téléchargement de fichiers?
- 9. HtmlAgilityPack: Supprimer les tags, remplacer par des espaces
- 10. Comment remplacer les espaces par des '+' dans Xcode
- 11. Comment remplacer toutes les virgules par des espaces virgules (pep8)?
- 12. Comment remplacer les espaces par un [emacs
- 13. Remplacer les ruptures et les espaces par "+"
- 14. remplacer les espaces par _ en php
- 15. Remplacer null par 0 dans MySQL
- 16. Remplacer des espaces avec% 20 en C
- 17. Remplacer des espaces mais pas entre parenthèses
- 18. Supprimer tous les espaces en Javascript et les remplacer par des espaces simples
- 19. Remplacer les espaces par des traits de soulignement en utilisant regex remplacer dans pnotepad
- 20. Remplacer les espaces javascript
- 21. Javascript - Remplacer '% 20' espaces
- 22. Vim: Alignement des colonnes par des espaces
- 23. preg remplacer les espaces réservés
- 24. XML-Schema: Remplacer les espaces
- 25. Chaîne: remplacement des espaces par un nombre
- 26. matrice d'octave: remplacer les 0 à 1 et de remplacer des 1 avec 0 de
- 27. supprimer les espaces doubles et les remplacer par un seul
- 28. Remplacer les espaces réservés pour
- 29. Remplacer les espaces par unedrscores dans la chaîne entière
- 30. Remplacer les traits de soulignement par des esperluettes et des traits d'union avec des espaces
Pas tout à fait sûr de ce que vous demandez ici. Pourriez-vous poster le code que vous avez essayé? – paqogomez
Vous voudrez probablement utiliser les mots clés 'CAST()' ou 'CONVERT()'. –
J'ai des champs, ids est varchar, mais la taille et le poids sont de type interger. en ce moment je reçois 0s pour la taille et le poids s'il n'y a pas de valeurs (en utilisant la déclaration de cas). Mais je veux vide dans ces champs – user3502587