Comment remplacez-vous une valeur NULL dans la sélection avec une chaîne vide? Il n’a pas l’air très professionnel de sortir des valeurs "NULL".
Ceci est très inhabituel et basé sur ma syntaxe, je pense que cela fonctionnera. En espérant une explication, pourquoi ne pas.
select CASE prereq WHEN (prereq IS NULL) THEN " " ELSE prereq end from test;
Exemple de présentation de la table d'origine, de ce que je veux et de ce qui est imprimé:
original wanted what actually prints
-------- ------ ---------------------
value1 value1
NULL NULL
value2 value2
NULL NULL
Comme vous pouvez le voir, cela fait l'inverse de ce que je veux, j'ai donc essayé d'inverser le IS NULL à IS PAS NULL et bien sûr, cela n'a pas été résolu, également essayé d'échanger la position de quand le cas, qui n'a pas fonctionné.
Edit: Il semble que les 3 solutions données ci-dessous remplissent toutes cette tâche. Cordialement
select if(prereq IS NULL ," ",prereq ) from test
select IFNULL(prereq,"") from test
select coalesce(prereq, '') from test
Certaines de ces fonctions intégrées devraient fonctionner:
Coalesce
Is Null
IfNull
Si vous devez vraiment afficher toutes les valeurs, y compris les valeurs NULL:
select IFNULL(prereq,"") from test
SELECT COALESCE(prereq, '') FROM test
Coalesce renverra le premier argument non nul qui lui sera transmis de gauche à droite. Si tous les arguments sont nuls, ils renverront null, mais nous y forçons une chaîne vide et aucune valeur null ne sera renvoyée.
Notez également que l'opérateur COALESCE est pris en charge en SQL standard. Ce n'est pas le cas de IFNULL . C'est donc une bonne pratique d'utiliser l'ancien. De plus, gardez à l'esprit que COALESCE prend en charge plus de 2 paramètres et qu'il les parcourra jusqu'à ce qu'une coïncidence non nulle soit trouvée.
Essayez ci-dessous;
select if(prereq IS NULL ," ",prereq ) from test
La forme originale est presque parfaite, il suffit d’omettre prereq après CASE :
SELECT
CASE
WHEN prereq IS NULL THEN ' '
ELSE prereq
END AS prereq
FROM test;
Essayez COALESCE
. Il retourne la première valeur non NULL.
SELECT COALESCE(`prereq`, ' ') FROM `test`
Essayez ceci, cela devrait aussi vous débarrasser de ces lignes vides:
SELECT prereq FROM test WHERE prereq IS NOT NULL;
select IFNULL(`prereq`,'') as ColumnName FROM test
cette requête sélectionne des valeurs "prereq" et si l'une des valeurs est null, elle affiche une chaîne vide à votre convenance. Elle affiche donc toutes les valeurs, à l'exception de celles qui sont NULL.