Question : Existe-t-il des ressources disponibles qui fournissent une liste complète des formats datetime pris en charge pour différents Types de données SSIS ? Le type de données DT_DBTimestamp est-il capable de reconnaître le format « 1-Jan » ?
Réponse :
Informations générales
Le tableau suivant répertorie les formats datetime par défaut pris en charge par différents types de données SSIS lors de la conversion à partir de strings :
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] |
Cas d'utilisation spécifique :
Dans l'exemple fourni, la chaîne '1-Jan' ne peut pas être directement convertie en datetime à l'aide de Convert( ) fonction dans SQL Server. Cependant, lorsque vous tentez d'importer cette valeur dans SSIS en tant que DT_DBTimestamp, elle est implicitement reconnue comme étant le 1/1/2017.
Expériences :
Pour approfondir ce comportement, plusieurs expérimentations ont été menées :
Résultats :
Les expériences ont confirmé que le Le type de données DT_DBTimestamp dans SSIS dispose d'un mécanisme de conversion indulgent qui tente d'interpréter divers formats datetime, y compris ceux qui ne sont pas explicitement pris en charge dans le format par défaut. Ce comportement n'est pas cohérent avec la conversion datetime de SQL Server, qui adhère strictement aux formats spécifiques pris en charge.
Références :
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!