La fonction ifnull()
retourne la valeur la plus à gauche qui n'est pas null parmi deux valeurs, ou retourne null
si les deux valeurs sont null
.
Lorsque deux valeurs sont de structures de données différentes, une conversion de données pourrait être déclenchée pour garantir un type de données cohérent dans la colonne finale.
Occasions où une valeur
null
est produite : propriétés non fournies lors de l'insertion de données, propriétés créées après l'insertion des données, appel d'une propriété qui n'existe pas.
Arguments:
- Value1
- Value2
Retourne:
- Résultat
Graph d'exemple : (à utiliser pour les exemples suivants)
Exécutez les UQLs ci-dessous un par un dans un graphset vide pour créer des données de graph :create().node_property(@default, "name").node_property(@default, "try1", int32).node_property(@default, "try2", int32).node_property(@default, "try3", int32)
insert().into(@default).nodes([{name:"Jason", try1:84}, {name:"Alice", try1:55, try2:79}, {name:"Lina"}, {name:"Eric", try1:39, try2:46, try3:61}, {name:"Pepe", try1:89}])
Utilisation Courante
Exemple: Retourner le score du dernier re-test que chaque étudiant effectue, sachant que chaque étudiant a trois chances, et que le re-test est autorisé seulement si le précédent a échoué. Retourner null
si un étudiant n'effectue aucun essai.
find().nodes() as n
return table(n.name, ifnull(n.try3, n.try2))
| n.name | ifnull(n.try3, n.try2) |
|--------|------------------------|
| Jason | null |
| Alice | 79 |
| Lina | null |
| Eric | 61 |
| Pepe | null |