Maison >base de données >tutoriel mysql >Comment SSIS convertit-il implicitement les chaînes de date en différents types de données ?

Comment SSIS convertit-il implicitement les chaînes de date en différents types de données ?

DDD
DDDoriginal
2024-12-21 01:47:10453parcourir

How Does SSIS Implicitly Convert Date Strings to Different Data Types?

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.

Formats date/heure par défaut pour les types de données SSIS

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]

Conversion implicite Expériences

Pour tester la conversion implicite des chaînes datetime, des expériences ont été menées en utilisant à la fois SSIS et SQL Server.

Conversion datetime implicite SSIS

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 :

  1. Une variable Date a été définie et initialisée à une date spécifique.
  2. Une boucle a été créée pour parcourir toutes les informations culturelles et obtenir tous les formats datetime liés à chaque culture.
  3. Dans la boucle, la variable Date a été tentée d'être convertie en chaîne formatée et affectée à la sortie colonne.
  4. Toutes les erreurs de conversion ont été enregistré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.

Conversion date/heure implicite SQL Server

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 :

  1. aaaaMMjj
  2. aaaa- MM-jjTHH:mm:ss (ISO8601)

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