L'instruction "is null" est utilisée pour effectuer une requête de valeur nulle dans MySQL et peut déterminer si la valeur du champ est vide (NULL). Lors de l'interrogation, si le champ est vide, les conditions de la requête seront remplies et l'enregistrement sera récupéré ; si le champ n'est pas vide, les conditions de la requête ne seront pas remplies ; "is null" est un opérateur de comparaison, il peut donc être utilisé partout où un opérateur peut être utilisé, comme dans une instruction select ou Where.
MySQL IS NULL : requête de valeur nulle
Utilisez le mot-clé IS NULL pour déterminer si la valeur d'un champ de base de données MySQL est NULL. La valeur nulle est différente de 0, qui est également différente de la chaîne vide.
Si la valeur du champ est nulle, les conditions de requête sont remplies et l'enregistrement sera interrogé. Si la valeur du champ n'est pas nulle, les conditions de requête ne sont pas remplies.
Le format de syntaxe de base pour utiliser IS NULL est le suivant :
IS [NOT] NULL
Parmi eux, "NOT" est un paramètre facultatif, indiquant que la condition est remplie lorsque la valeur du champ n'est pas nulle.
L'expression renvoie VRAI si la valeur est nulle, sinon elle renvoie FAUX.
Notez que MySQL n'a pas de type BOOLEAN intégré (valeur booléenne). Il utilise TINYINT(1) pour représenter la valeur BOOLEAN, c'est-à-dire que 1 représente VRAI et 0 représente FAUX.
is null est un opérateur de comparaison, il peut donc être utilisé partout où des opérateurs peuvent être utilisés, comme dans les instructions select ou Where.
SELECT 1 IS NULL, 0 IS NULL, NULL IS NULL;
Pour vérifier qu'un champ n'est pas NULL, vous pouvez utiliser is not null.
SELECT 1 IS NOT NULL, 0 IS NOT NULL, NULL IS NOT NULL;
Exemple
Rechercher des clients sans représentants commerciaux à l'aide de l'opérateur IS NULL à partir de la table clients :
SELECT customerName, country, salesRepEmployeeNumber FROM customers WHERE salesRepEmployeeNumber IS NULL ORDER BY customerName LIMIT 5;
Caractéristiques spéciales de MySQL IS NULL
Pour la compatibilité avec les programmes ODBC, MySQL prend en charge Certaines fonctionnalités spéciales fonctionnalités de l’opérateur IS NULL.
1) Si le champ a des contraintes telles que NOT NULL et contient la date spéciale '0000-00-00', et que le format est date ou datetime, vous pouvez utiliser l'opérateur is null pour le trouver.
CREATE TABLE IF NOT EXISTS projects ( id INT AUTO_INCREMENT, title VARCHAR(255), begin_date DATE NOT NULL, complete_date DATE NOT NULL, PRIMARY KEY(id) ); INSERT INTO projects(title,begin_date, complete_date) VALUES('New CRM','2020-01-01','0000-00-00'), ('ERP Future','2020-01-01','0000-00-00'), ('VR','2020-01-01','2030-01-01'); SELECT * FROM projects WHERE complete_date IS NULL;
a créé une table nommée projets, dont le champ complete_date n'est pas nul et contient la date spéciale '0000-00-00'.
Utilisez complete_date IS NULL pour obtenir les lignes avec la date « 0000-00-00 ».
2) Continuez à utiliser le tableau des projets.
Si la variable @@sql_auto_is_null est définie sur 1, vous pouvez obtenir la valeur de la colonne id générée après l'exécution de l'instruction d'insertion à l'aide de l'opérateur is null.
Notez que @@sql_auto_is_null est défini sur 0 par défaut.
set @@sql_auto_is_null =1; insert into projects (title,begin_date,complete_date) values('MRP III','2010-01-01','2020-12-31'); select id from projects where id is null;
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!