2009-08-06 8 views

Répondre

1

vous pouvez essayer ce qui suit. documentation de déclaration de cas pour mysql peut être trouvé ici.

http://dev.mysql.com/doc/refman/5.0/en/case-statement.html

case 
    when field = 'N/A' then '---' 
    else field 
end 
+0

Je pensais aussi à CASE. Je vais essayer cela et être de retour. Merci pour l'aide! –

+0

Hmm. J'obtiens une erreur mysql près du cas final. Je me rappelle avoir entendu quelqu'un dire que le dernier cas n'est pas nécessaire? Suis-je corrent? –

+0

Je peux vous dire dans le serveur SQL que ce n'est pas nécessaire. ça n'a pas vraiment de sens d'être là mais les docs mysql l'ont montré comme étant là. essayez-le sans le dernier cas – thomas

1
SELECT IF(STRCMP(my_column,'N/A'),my_column,'---') 
FROM my_table 
+0

Salut ChessPly, j'ai essayé cela mais malheureusement il change toutes les colonnes à ---. Des idées? Merci pour l'aide. –

+0

J'ai par erreur commuté les 2ème et 3ème arguments dans IF() - fixe. – ChssPly76

1

Comment cela?

SELECT field1, field2, IF(field3='N/A','---',field3) AS field3 FROM table 

Ou ai-je mal compris votre question?

0

Ceci est une version révisée de la réponse de ChssPly76:

SELECT IF(field_name = 'N/A', '---', field_name) AS field_name 
FROM table 

Cela devrait corriger le problème où tous les champs sont l'impression comme --- et vous aurez également une colonne correctement nommée dans vos résultats.

Questions connexes