J'ai une source de file .csv. J'importe cela dans ssis pour faire quelques changements de manipulation pour générer un file .csv de format spécial. La date provient du file .Csv.
Je suis dans le besoin de convertir le format de date qui est en aaaa-mm-jj à 'MM / JJ / AAAA HH: MM: SS AM' pour certaines colonnes de date. Par exemple: La colonne de saisie du rapport a la date 2017-03-27 doit être convertie au 27/03/2017 HH: MM: SS AM. Comment fait-on ça?
Utilisez un composant de script. En supposant que la colonne de date est une string:
public override void Input0_ProcessInputRow(Input0Buffer Row) { Row.date = Convert.ToDateTime(Row.date).ToSsortingng("MM/dd/yyyy hh:mm:ss"); }
Vous pouvez utiliser FORMAT comme ci-dessous
select format(getdate(), 'dd/MM/yyyy hh:mm:ss tt') Select convert(datetime,'your date',103)
Si la colonne Date est une string, vous pouvez utiliser la méthode DateTime.ParseExact
dans un composant de script. (en supposant que outDate
est la colonne de sortie et inDate
est la colonne d'input)
using System; using System.Globalization; CultureInfo provider = CultureInfo.InvariantCulture; public override void Input0_ProcessInputRow(Input0Buffer Row) { Row.outDate = DateTime.ParseExact(Row.inDate,"yyyy-MM-dd",provider).ToSsortingng("MM/dd/yyyy HH:mm:ss"); }
Pour plus d'informations sur cette méthode, vous pouvez vous référer à ces liens:
Jetez également un coup d'oeil à ma réponse dans le lien suivant, c'est très utile: