Conversion implicite des dates dans les sources SSIS
Il est souvent nécessaire de convertir des dates entre différents formats lorsque l'on travaille avec des données. Dans SSIS, le comportement de la conversion de date peut parfois être inattendu. Cet article examine la conversion implicite des chaînes de date en différents types de données SSIS et fournit un tableau de référence des formats pris en charge.
Le tableau suivant présente les formats datetime par défaut types de données lors de la conversion à partir d'une chaîne :
Data Type | Default Format | |
---|---|---|
DT_DBDATE | yyyy-mm-dd | |
DT_FILETIME | yyyy-mm-dd hh:mm:ss:fff | |
DT_DBTIME | hh:mm:ss | |
DT_DBTIME2 | hh:mm:ss[.fffffff] | |
DT_DBTIMESTAMP | yyyy-mm-dd hh:mm:ss[.fff] | |
DT_DBTIMESTAMP2 | yyyy-mm-dd hh:mm:ss[.fffffff] | |
DT_DBTIMESTAMPOFFSET | yyyy-mm-dd hh:mm:ss[.fffffff] [{ | -} hh:mm] |
Pour tester la conversion implicite des chaînes datetime, des expériences ont été menées en utilisant à la fois SSIS et SQL Server.
Un package SSIS avec une tâche Dataflow a été créé . Un composant de script (en tant que source) et une destination de fichier plat ont été utilisés. Le composant de script avait une colonne de sortie de type DT_DbTimeStamp. Dans le script, une série d'expériences ont été menées :
Les résultats de ces expériences ont révélé qu'un large éventail de formats datetime sont implicitement convertis au type de données DT_DBTIMESTAMP, même ceux qui ne sont pas pris en compte. canonique.
Une requête SQL Server a été utilisée pour tester si certains les formats de chaîne seraient implicitement convertis en datetime. La requête suivante a été exécutée :
SELECT CONVERT(DATETIME, '" + dtdate.ToString(strFormat) + '")
Les résultats ont montré que seuls deux formats de chaîne datetime sont interprétés correctement avec n'importe quel paramètre de langue :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!