Est-il possible d'utiliser COALESCE (ou de toute autre manière) pour remplacer les valeurs NULL d'une colonne TIMESTAMP par une chaîne comme « N/A » ?
Dans ma SELECT
déclaration, j'ai un
CASE WHEN n.expiration_date::date IS NULL THEN 'N/A' ELSE n.expiration_date::date END
Lorsque j'essaye ceci, j'obtiens cette erreur, ce qui est logique :
syntaxe d'entrée non valide pour la date de type : "N/A"
J'ai aussi trouvé ce billet de blog sur ce problème. Y a-t-il un moyen de contourner cela?
Toutes les valeurs d'une expression CASE doivent être évaluées par rapport au même type de données.
Si vous avez vraiment besoin du N/A, vous devez convertir la date en un type de caractère :
CASE
WHEN n.expiration_date IS NULL THEN 'N/A'
ELSE n.expiration_date::date::text
END
Ou si vous voulez avoir le contrôle sur le format :
CASE
WHEN n.expiration_date IS NULL THEN 'N/A'
ELSE to_char(n.expiration_date, 'YYYY-MM-DD')
END
Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.
En cas d'infraction, veuillez [email protected] Supprimer.
laisse moi dire quelques mots