La requête du projet utilise la fonction d'épissage concat(). Dans cette requête, le champ épissé est nul et une exception de pointeur nul est signalée au niveau de la couche d'application.
SELECT CONCAT('1,',NULL,'2') result;
SELECT CONCAT('1,','','2') result;
Il a été prouvé par la pratique que lorsque la fonction CONCAT() est épissée, s'il y a NULL dans les paramètres épissés, le résultat est NULL.
Méthode 1 : Utilisez la fonction IFNULL pour la définir sur une chaîne vide si elle est NULL.
SELECT CONCAT('1,',IFNULL(NULL,''),'2') result;
Méthode 2 : Utilisez la fonction CONCAT_WS. Spécifiez la connexion de chaîne avec le délimiteur
SELECT CONCAT_WS(',','1',NULL,'2') result;
Spécifiez l'utilisation de virgules pour séparer
CONCAT_WS (délimiteur, paramètre 1, paramètre 2,... paramètre n) et CONCAT (paramètre 1, paramètre 2, .. . Paramètre n)
La différence entre les deux fonctions :
CONCAT_WS() : signifie concaténer avec un séparateur, c'est-à-dire une connexion de chaîne avec un séparateur
CONCAT() : signifie concaténer des chaînes
deux La différence la plus importante est que la fonction CONCAT() renvoie directement NULL
s'il y a NULL dans le paramètre d'épissage, tandis que la fonction CONCAT_WS() ne retournera pas NULL en raison d'une valeur NULL lors de son exécution.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!