Maison  >  Article  >  base de données  >  Comment résoudre le problème NULL lors de la concaténation de la fonction CONCAT() dans MySQL

Comment résoudre le problème NULL lors de la concaténation de la fonction CONCAT() dans MySQL

WBOY
WBOYavant
2023-06-01 23:29:023691parcourir

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;

Comment résoudre le problème NULL lors de la concaténation de la fonction CONCAT() dans MySQL

SELECT CONCAT('1,','','2') result;

Comment résoudre le problème NULL lors de la concaténation de la fonction CONCAT() dans MySQL

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.

Utilisez les méthodes suivantes pour résoudre

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;

Comment résoudre le problème NULL lors de la concaténation de la fonction CONCAT() dans MySQL

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

Comment résoudre le problème NULL lors de la concaténation de la fonction CONCAT() dans MySQL

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer