La conversion de chaînes en DateTime dans une expression IIF
Je suis en utilisant SSRS 2008R2 pour créer des rapports. La source de données est un fichier xml de réponse de webservice. Je veux renvoie la chaîne vide si il n'y a pas de données, mais si il est en ligne avec les données que je veux convertir en un autre format datetime.
Je suis avec IIF, de la construction comme ceci:
=IIF
(
LEN(Fields!DateOfReg.Value) <= 0,
"",
FORMAT(CDATE(DateTime.ParseExact(Fields!DateOfReg.Value,"M/d/yyyy hh:mm:ss tt",
System.Globalization.CultureInfo.InvariantCulture)), "dd.MM.yyyy HH:mm:ss")
)
Quand il n'y a pas de données, il montre #Erreur dans la zone de texte et dans la sortie:
Chaîne n'a pas été reconnu comme un DateTime valide
Signifie que l'IIF construction calcule à la fois VRAI et FAUSSES déclarations? Si oui, comment puis-je faire de court-circuit et de ne pas convertir en ligne si il n'y a pas de données?
OriginalL'auteur a1an | 2013-02-05
Vous devez vous connecter pour publier un commentaire.
Essayez ce qui suit:
OriginalL'auteur Gil Peretz
Oui, vous avez raison - IIF calculer les deux états. Mais, vous pouvez convertir une chaîne vide pour "Rien" avec IIF, et ensuite essayer de le formater, quelque chose comme ceci:
Fonction Format provoquer des exceptions si vous passez une chaîne vide, mais renvoie la chaîne vide si vous passez "Rien".
OriginalL'auteur Roman Badiornyi