Pour remplacer les valeurs NULL par une valeur spécifique dans vos requêtes, utilisez la fonction NVL de MaxCompute. Cette fonction substitue les valeurs NULL par la valeur indiquée, garantissant l'absence de valeurs vides inattendues lors de l'analyse des données ou de la génération de rapports. Cette rubrique décrit l'utilisation de la fonction NVL dans MaxCompute.
Syntaxe
nvl(T <value>, T <default_value>)
Paramètres
value : obligatoire. Paramètre d'entrée.
Treprésente le type de données d'entrée ; il peut s'agir de n'importe quel type pris en charge par MaxCompute.default_value : obligatoire. Valeur de remplacement. Son type de données doit correspondre à celui du paramètre value.
Valeur renvoyée
Si la valeur de value est NULL, la fonction renvoie default_value ; sinon, elle renvoie value. Les deux paramètres de la fonction doivent être du même type de données.
Exemple de données
Pour illustrer l'utilisation de la fonction, cette rubrique fournit des données sources et des exemples basés sur celles-ci. Créez la table nvl_test et insérez-y des données à l'aide de la commande suivante :
CREATE TABLE nvl_test (
c1 string,
c2 bigint,
c3 datetime);
--插入数据
INSERT INTO nvl_test VALUES
('aaa',23,'2024-01-11 00:00:00'),
('bbb',NULL,'2024-01-12 08:00:00'),
(NULL,20,'2024-01-13 05:00:00'),
('ddd',25,NULL);
Exemples d'utilisation
Remplacez les valeurs NULL de la colonne c1 de la table nvl_test par 00000, celles de la colonne c2 par 0 et celles de la colonne c3 par -. Voici la commande correspondante :
SELECT nvl(c1,'00000'),nvl(c2,0),nvl(c3,'-') FROM nvl_test;
--示例返回结果如下
+-----+------------+-----+
| _c0 | _c1 | _c2 |
+-----+------------+-----+
| aaa | 23 | 2024-01-11 00:00:00 |
| bbb | 0 | 2024-01-12 08:00:00 |
| 00000 | 20 | 2024-01-13 05:00:00 |
| ddd | 25 | - |
+-----+------------+-----+
Fonctions associées
La fonction NVL fait partie des fonctions diverses. Pour plus d'informations sur les autres fonctions adaptées à différents scénarios métier, consultez la rubrique Autres fonctions.