Maison >base de données >tutoriel mysql >Comment SSIS convertit-il implicitement les formats datetime et DT_DBTimestamp prend-il en charge « 1-Jan » ?

Comment SSIS convertit-il implicitement les formats datetime et DT_DBTimestamp prend-il en charge « 1-Jan » ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-17 07:06:24845parcourir

How Does SSIS Implicitly Convert Datetime Formats, and Does DT_DBTimestamp Support '1-Jan'?

Conversion implicite des formats datetime dans SSIS

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 :

  • SSIS Implicit datetime Conversion : Un composant de script a été utilisé pour parcourir toutes les informations culturelles et les formats datetime disponibles afin de vérifier s'ils pouvaient être implicitement convertis en DT_DBTIMESTAMP. Les résultats ont été capturés dans un fichier texte.
  • Conversion implicite datetime SQL Server : Des commandes SQL ont été utilisées pour convertir les mêmes chaînes datetime et vérifier les exceptions, ce qui indiquait si le format pouvait être converti. .

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 :

  • [Integration Services Data Types](https://docs.microsoft.com/en-us/sql/integration-services/data-types/data-types-in-integration-services?view=sql-server-ver15)
  • [TYPE DE DONNÉES SSIS VERS SQL SERVER TRADUCTIONS](https://docs.microsoft.com/en-us/sql/integration-services/import-export-data/data-type-mappings-ssis-to-sql-server-import-export-wizard?view =sql-server-ver15)

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn