SSIS : Variables et Expressions



Documents pareils
TP 1. Prise en main du langage Python

Logiciel de Base. I. Représentation des nombres

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Création et Gestion des tables

Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques

Algorithmique et Programmation, IMA

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

INF 321 : mémento de la syntaxe de Java

Python - introduction à la programmation et calcul scientifique

SSIS Implémenter un flux

Utilisation d objets : String et ArrayList

Représentation des Nombres

Codage d information. Codage d information : -Définition-

Algorithme. Table des matières

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C

Informatique Générale

Notions fondamentales du langage C# Version 1.0

Définition 0,752 = 0,7 + 0,05 + 0,002 SYSTÈMES DE NUMÉRATION POSITIONNELS =

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Cours d initiation à la programmation en C++ Johann Cuenin

Langage Java. Classe de première SI

Les chaînes de caractères

V- Manipulations de nombres en binaire

Excel avancé. Frédéric Gava (MCF)

Programmer en JAVA. par Tama

EXCEL TUTORIEL 2012/2013

Conversion d un entier. Méthode par soustraction

Algorithmique et programmation : les bases (VBA) Corrigé

STAGE IREM 0- Premiers pas en Python

Découverte de Python

Présentation du langage et premières fonctions

IFT2880 Organisation des ordinateurs et systèmes

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Les dates SAS expliquées à ma fille

Windows Server 2008 R2

Bases de programmation. Cours 5. Structurer les données

Initiation à la programmation en Python

Initiation à la Programmation en Logique avec SISCtus Prolog

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

IV- Comment fonctionne un ordinateur?

Créer le schéma relationnel d une base de données ACCESS

Représentation d un entier en base b

1 Introduction et installation


Polycopié Cours Programmation Orientée Objet sous Java Programme : Filière SMI S5

Maple: premiers calculs et premières applications

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Cahier Technique. «Développer une application intranet pour la gestion des stages des étudiants» Antonin AILLET. Remi DEVES

SUPPORT DE COURS. Langage C

DU BINAIRE AU MICROPROCESSEUR - D ANGELIS CIRCUITS CONFIGURABLES NOTION DE PROGRAMMATION

Nombres, mesures et incertitudes en sciences physiques et chimiques. Groupe des Sciences physiques et chimiques de l IGEN

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Une version javascript sera disponible directement dans le cours prochainement.

Créer une base de données

Business Intelligence

PROGRAMMER EN MQL4. Apprenez à automatiser vos stratégies sur MetaTrader 4

Débuter avec Excel. Excel

Projet Matlab : un logiciel de cryptage

OCL - Object Constraint Language

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

Conventions d écriture et outils de mise au point

Solutions du chapitre 4

Rappels sur les suites - Algorithme

DM 1 : Montre Autoquartz ETA

ALGORITHMIQUE ET PROGRAMMATION En C

Initiation à LabView : Les exemples d applications :

MATLAB : COMMANDES DE BASE. Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */.

Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles florence.henry@obspm.fr

Architecture de l ordinateur

Apprendre Java en 154 minutes

COMPTABILITE SAGE LIGNE 30

avec des nombres entiers

TD3: tableaux avancées, première classe et chaînes

Date M.P Libellé Catégorie S.Catégorie Crédit Débit Solde S.B

Logiciel. Table de matières I Environnement requis...2

L informatique en BCPST

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

as Architecture des Systèmes d Information

URECA Initiation Matlab 2 Laurent Ott. Initiation Matlab 2

Le langage SQL pour Oracle - partie 1 : SQL comme LDD

1 Introduction au codage

Factorisation Factoriser en utilisant un facteur commun Fiche méthode

I. Introduction aux fonctions : les fonctions standards

Chapitre 1 I:\ Soyez courageux!

Le Langage De Description De Données(LDD)

Les Différents types de Requêtes dans Access

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

Plan du cours. Historique du langage Nouveautés de Java 7

Initiation à Excel. Frédéric Gava (MCF)

Thibault Denizet. Introduction à SSIS

Priorités de calcul :

SOFI Gestion+ Version 5.4. Echanges de données informatiques Spicers Sofi gestion+ Groupements. SOFI Informatique. Actualisé le

Évaluation des compétences. Identification du contenu des évaluations. Septembre 2014

1 Recherche en table par balayage

Compléments de documentation Scilab : affichage de texte et formatage de nombres

Transcription:

SSIS : Variables et Expressions Z Thibault Denizet

2 SQL Server : Mettre en place une solution SSIS [02/07/09] Sommaire 1 Introduction... 3 2 Les Variables... 4 2.1 La fenêtre Variables... 4 2.2 Les types de données sous SSIS... 5 3 Expressions... 7 3.1 Littéral... 7 3.2 Identificateurs... 8 3.2.1 Identificateurs standards et qualifiés... 8 3.2.2 Identificateurs de lignage... 9 3.2.3 Noms de variables... 9 3.2.4 Noms de colonnes... 9 3.3 Opérateurs... 10 3.4 Fonctions... 11 4 Conclusion... 14

3 SQL Server : Mettre en place une solution SSIS [02/07/09] 1 Introduction Dans le chapitre précédent, nous avons découvert quelques fonctionnalités essentielles à l utilisation de SSIS. Nous allons à présent approfondir ces dernières mais également découvrir de nombreuses nouveautés. En effet, l interface de SSIS est très riche et de nombreuses actions sont à assimiler pour parvenir à la création d un package adapté à vos besoins. Ce chapitre sera uniquement théorique et vous apportera les connaissances nécessaires à l utilisation des variables et des expressions dans les diverses tâches. Ces dernières feront l objet de notre prochain chapitre et vous permettront de mettre en pratique tout ce que nous verrons ici.

4 SQL Server : Mettre en place une solution SSIS [02/07/09] 2 Les Variables Ce chapitre sera consacré aux variables qui représentent un élément indispensable pour votre futur package. Elles sont très souvent utilisées dans les tâches du flux de contrôle ou du flux de données que nous détaillerons par la suite. Les variables ont une grande utilité dans les packages SSIS, elles permettent de lier différentes parties d un même package, d appliquer des contraintes pour l exécution de certaines tâches ou encore d activer certaines fonctionnalités selon les valeurs renvoyées grâce au gestionnaire d événements. 2.1 La fenêtre Variables Les variables sont gérées dans la fenêtre du même nom obtenu dans l onglet Affichage > Autres fenêtres > Variables. Nous allons rapidement voir les éléments de la barre d outils avant d analyser plus en profondeur le contenu de cette fenêtre. Cet élément permet d ajouter une variable. Cet outil permet de supprimer une variable (Comme dit plus haut, vous ne pouvez supprimez que les variables que vous avez créées). Ce bouton vous permet d afficher ou de cacher les variables systèmes. Ce bouton vous permet d afficher les variables de vos tâches en plus de celles liées à tout le package (Ces dernières sont affichées par défaut). Enfin ce dernier élément affiche une fenêtre de configuration permettant de choisir quelles colonnes vous souhaitez afficher. Par défaut, les colonnes espaces de nom et Raise change event (Déclencher l'événement lorsque la valeur de la variable change) ne sont pas affichées, vous devrez les activer dans la fenêtre de configuration si vous souhaitez les voir. L espace de nom est un moyen simple de regrouper des variables pour faciliter le débogage et la maintenance. Sous SSIS, les variables systèmes sont dans l espace de nom System et les variables créées par l utilisateur sont par défaut dans l espace de nom User. Il est possible de changer l espace de nom de ces dernières en affichant la colonne et en l éditant. Voici un aperçu de la fenêtre Variables affichant cinq variables dont trois appartiennent à l espace de nom User, et deux à l espace de nom System.

5 SQL Server : Mettre en place une solution SSIS [02/07/09] Dans cette fenêtre, nous pouvons voir : - Le nom de la variable - Son scope (portée), c est-à-dire, les éléments pour lesquels cette variable est accessible. Ici, les deux variables Test sont accessibles par tous les éléments du package. La variable Compteur n est quant à elle accessible que dans le conteneur de Séquence dans lequel nous l avons créée. Toutes les variables System sont bien sûr accessibles dans tout le package. - Le type de donnée (Data type) afin d allouer la bonne quantité de mémoire. Les différents types disponibles sont : Boolean, Byte, Char, Datetime, DBnull, Double, Int16, Int32, Int64, Object, Sbyte, Single, String, UInt32, UInt64. - La valeur de la variable. - L espace de nom - La dernière colonne, Raise Change Event, change de valeur (de false à true, et inversement) si la valeur de la variable est modifiée. Nous pouvons ainsi créer des événements avec comme déclencheur la modification d une variable. Nous approfondirons cela avec le gestionnaire d événements. 2.2 Les types de données sous SSIS SSIS partage de nombreux types de données avec les autres langages de la plateforme.net. Cependant, lors de l exécution du package et de l entrée des données dans le flux de données, les types des variables sont convertis en type Integration Services. Il est nécessaire de connaitre ces noms de types, car il arrive fréquemment de devoir modifier le type d une variable. Voici un tableau regroupant ces types de variables avec leur correspondance en C # quand c est possible, ainsi qu une description. Type de données SSIS Equivalent C# Description DT_BOOL bool Valeur booléenne DT_BYTES Valeur de données binaires. (Longueur variable mais inférieur à 8000 octets.) DT_CY Valeur de devise. Entier signé de 8 octets avec une échelle de 4 et une précision maximale de 19 chiffres. DT_DATE Datetime Structure de date comprenant l année, le mois, le jour, les heures, les minutes, les secondes et les fractions de seconde. DT_DBTIME Structure d heure comprenant les heures, les minutes et les secondes. DT_DBTIME2 Structure d heure comprenant les heures, les minutes, les secondes et les fractions de seconde. DT_DBTIMESTAMP Structure d horodateur comprenant l année, le mois, le jour, les heures, les minutes, les secondes et les

6 SQL Server : Mettre en place une solution SSIS [02/07/09] fractions de seconde. DT_DBTIMESTAMP2 Structure d horodateur comprenant l année, le mois, le jour, les heures, les minutes, les secondes et les fractions de seconde. DT_DBTIMESTAMPOFFSET Structure d horodateur comprenant l année, le mois, le jour, les heures, les minutes, les secondes et les fractions de seconde. Contrairement à DT_DBTIMESTAMP et DBTIMESTAMP2, celui-ci a un décalage du fuseau horaire. DT_DECIMAL Entier non signé de 12 octets. DT_FILETIME Valeur 64 bits représentant le nombre d intervalles de 100 nanosecondes depuis le 1 er Janvier 1601. DT_GUID Identificateur global unique. DT_I1 Entier signé de 1 octet. DT_I2 Short(int16) Entier signé de 2 octets. DT_I4 Int(int32) Entier signé de 4 octets. DT_I8 Long(int64) Entier signé de 8 octets. DT_NUMERIC Entier non signé de 16 octets DT_R4 Float(single) Valeur en virgule flottante simple précision. DT_R8 Double Valeur en virgule flottante double précision. DT_STR String Chaîne de caractères ANSI/MBCS. Longueur maximale 8000 caractères. DT_UI1 Entier non signé de 1 octet. DT_UI2 Entier non signé de 2 octets. DT_UI4 Uint(UInt32) Entier non signé de 4 octets. DT_UI8 Ulong(Uint64) Entier non signé de 8 octets. DT_WSTR String Chaîne de caractère Unicode. Longueur maximale 4000 caractères. DT_IMAGE Valeur binaire avec une taille maximale de 2 147 483 647 octets. DT_NTEXT Chaîne de caractères Unicode avec une longueur maximale de 1 073 741 823 caractères DT_TEXT Chaîne de caractères ANSI/MBCS d une longueur maximale de 2 147 483 647 caractères Il faut savoir que les variables utilisées dans SSIS ont un très fort typage afin d optimiser rapidité et performance lors de l exécution du package grâce à une gestion de la mémoire optimale.

7 SQL Server : Mettre en place une solution SSIS [02/07/09] 3 Expressions Les expressions permettent de modifier le comportement d un package grâce aux conditions et aux modifications de variables, propriétés, etc. pendant l exécution du package. La syntaxe des expressions sous Integration Services est très proche de celle du langage C#. Une expression est composée d un ensemble de littéraux, d identificateurs, d opérateurs et de fonctions. Trois éléments jouent un rôle dans l efficacité des expressions : la grammaire d expression, l évaluateur d expression et le générateur d expression. La grammaire d expression définit la syntaxe, ainsi que les opérateurs, les fonctions et les types de données utilisables. L évaluateur d expression analyse les expressions afin de vérifier qu elles respectent la grammaire d expression. Le générateur d expression apporte des outils pour simplifier la création d expression. 3.1 Littéral Un littéral est utilisé dans une expression afin de représenter les valeurs des variables qui sont connues avant l exécution du package. Un littéral peut être de type Chaîne de caractères, Booléen ou numérique. L utilisation des littéraux de type chaîne de caractère se font grâce à des doubles guillemets. Exemple : (DT_I4)CODEPOINT("z") retourne la code Unicode de la lettre z. Des caractères d échappement peuvent être utilisés afin d effectuer diverses actions, en voici une liste : \a : Bip sonore \b : Espacement arrière \f : Saut de page (Form feed) \n : Saut de ligne \r : Retour à la ligne \t : Tabulation horizontale \v : Tabulation verticale \" : Double guillemets \\ : Anti-slash \xhhh : Caractère unicode dont la valeur en héxadécimal est hhh Les littéraux numériques peuvent être exprimés comme des entiers, des décimaux ou en notation scientifique. Nous pouvons y inclure un signe négatif mais pas de caractère de groupage de chiffres comme les virgules dans la norme USA. Exemple à ne pas faire : 1, 000,000. Les littéraux numériques peuvent inclure un suffixe afin de spécifier le type de données à y assigner. Voici une liste de ces suffixes : Suffixe Aucun U L UL Description Entier Entier non-signé Entier long Entier long non-signé

8 SQL Server : Mettre en place une solution SSIS [02/07/09] F Réel (Valeur 32bits à virgule flottante) L Réel (Valeur 64bits à virgule flottante) Les suffixes ne sont pas sensibles à la casse, mettre U ou u revient donc au même. Exemple : (DT_I4)SQUARE( 4u ) Les littéraux booléens sont tout simplement true et false, ils n incluent pas de guillemets et ne sont pas sensibles à la casse. 3.2 Identificateurs Les identificateurs sont utilisés dans les expressions afin de représenter des valeurs qui ne sont pas connues avant l exécution du package. Les identificateurs sont des variables ou des colonnes. 3.2.1 Identificateurs standards et qualifiés Pour la représentation des variables, il est nécessaire de mettre un @ avant le nom de la variable. Il ne fait pas parti du nom de la variable, il permet simplement à l évaluateur d expression d identifier une variable et de la remplacer par sa valeur en conséquence. Exemples : @Compteur @_variable @NomDuProjet Il est également possible de représenter des colonnes : Exemples : Client Etudiant# Deux types d identificateurs peuvent être utilisés par les expressions : les identificateurs standards et les identificateurs qualifiés. Comme le nom le laisse entendre, les identificateurs qualifiés nécessitent des qualificateurs supplémentaires par rapport aux identificateurs standards. Par exemple, la colonne Customer ou la variable Compteur sont des identificateurs standards. Voici la liste des règles que doivent respecter les identificateurs standards : -Le premier caractère du nom doit être une lettre ou un trait de soulignement «_». -Les autres caractères peuvent être : Des nombres Des lettres le trait de soulignement «_» les caractères @, $ et #. Tous les identificateurs qui ne respectent pas ces règles sont des identificateurs qualifiés, nous devons alors utiliser des crochets [] comme délimiteur. Par exemple, les identificateurs [Classe 1], [12Nom] ou [Client ] sont des identificateurs qualifiés. En effet, le premier contient un espace, le

9 SQL Server : Mettre en place une solution SSIS [02/07/09] second commence par un chiffre et le dernier contient un caractère qui n est pas autorisé dans les identificateurs standards. En raison de cette syntaxe, il n est pas possible d utiliser des noms de colonnes tels que Colonne [10] ou [Colonne] 1, il faudra renommer cette colonne sans utiliser de crochets. 3.2.2 Identificateurs de lignage Les identificateurs de lignage sont utilisés dans les expressions afin de faire référence aux colonnes. Ils sont automatiquement affectés à la création du package, pour les utiliser il suffit de mettre le signe dièse (#) avant son identificateur de lignage. Exemple : #169 3.2.3 Noms de variables Si deux variables ayant la même portée ont le même nom, il est nécessaire d apporter des informations complémentaires pour éviter tout problème. Deux variables peuvent avoir le même nom uniquement si elles ont un espace de nom différent. Il est donc indispensable de pouvoir préciser un espace de nom lors de l utilisation d une variable afin d éviter toute confusion. Nous utilisons pour cela un opérateur de résolution d espace de noms «::» que nous plaçons entre l espace de nom et le nom de la variable. Le double caractère :: n étant pas autorisé par les identificateurs standards, il est nécessaire de mettre des crochets, voici quelques exemples : @[System :: Username] : va chercher la variable Username dans l espace de nom System. @[User :: Username] : va chercher la variable Compteur dans l espace de nom User. 3.2.4 Noms de colonnes Comme pour les variables, si deux colonnes ont le même nom, il est nécessaire d utiliser des informations complémentaires. Les colonnes n ayant pas d espace de noms, nous allons nous servir de la source de la colonne, que ce soit le flux de données source ou l outil de transformation qui a créé la colonne. Nous lions la source et le nom de la colonne avec un point. Si l identificateur n est pas standard, on rajoute des crochets. On obtient ainsi ce genre d élément : FlatFileSource.AdresseClient ConversionDeDonnées.AdresseClient FlatFileSource.[ Etudiant ] [Conversion de données].[7totalsemaine]

10 SQL Server : Mettre en place une solution SSIS [02/07/09] 3.3 Opérateurs Les opérateurs permettent les calculs et les conditionnements, voici un tableau les regroupant : Opérateur Description Exemple (type de donnée) Convertit une expression en un nouveau type de (DT_I4)EXP(7) données () Parenthèses Définit l ordre d évaluation des expressions (3+4)*(5+2)=49 + Addition Ajoute deux expressions numériques 3+4=7 + Concaténation Concatène deux expressions "Alice "+ " "+ "Canot" - Soustraction Soustrait la deuxième expression numérique à la 4-3=1 première - Négation Inverse le signe d une expression numérique -137 * Multiplication Multiplie deux expressions numériques 3*4=12 / Division Divise la première expression numérique par la 12/4=3 deuxième % Modulo Donne le reste entier de la division 13%3=1 Ou logique Effectue une opération OU/OR logique @Var <1 @Var2 >2 && Et logique Effectue une opération ET/AND logique @Var >1&& @Var2>4! Not logique Inverse un opérande booléen.!@bool Opération OR inclusive Effectue une opération OR au niveau du bit avec @Var @Var2 au niveau du bit deux valeurs entières ^ Opération OR exclusive Effectue une opération OR exclusive au niveau @Var ^ @Var2 au niveau du bit du bit avec deux valeurs entières & AND au niveau du bit Effectue une opération AND au niveau du bit @Var & @Var2 avec deux valeurs entières ~ Opération Not au Effectue une négation au niveau du bit d un ~@Var2 niveau du bit entier == Egalité Compare deux expressions pour déterminer si @Var == @Var2 elles sont égales!= Inégalité Compare deux expressions afin de déterminer si @Var!= @Var2 elles sont différentes > Supérieur à Effectue une comparaison pour déterminer si la @Var > @Var2 première expression est supérieure à la deuxième < Inférieur à Effectue une comparaison pour déterminer si la @Var < @Var2 première expression est inférieure à la deuxième >= Supérieur ou égal à Effectue une comparaison pour déterminer si la @Var >= @Var2 première expression est supérieure ou égale à la deuxième <= Inférieur ou égal à Effectue une comparaison pour déterminer si la @Var <= @Var2 première expression est inférieure ou égale à la deuxième?: Conditionnel Renvoie une des deux expressions en fonction de l'évaluation d'une expression booléenne. @Compteur == @Max? @Retour:@Compte

11 SQL Server : Mettre en place une solution SSIS [02/07/09] 3.4 Fonctions Les fonctions permettent le traitement des données dans les expressions, il n y a pas d éléments compliqués, nous allons juste faire un listing des fonctions disponibles et de leur actions. Les expressions supportent les différentes fonctions mathématiques suivantes : Fonction Description Exemple Résultat ABS Renvoie la valeur absolue d'une expression numérique. ABS(-100) 100 EXP Renvoie la valeur exponentielle d une expression EXP(0) 1 numérique. CEILING Arrondit à l entier supérieur. CEILING(43,67) 44 FLOOR Arrondit à l entier inférieur. FLOOR(43,67) 43 LN Renvoie le logarithme népérien d une expression LN(1) 0 numérique. LOG Renvoie le logarithme décimal d une expression LOG(10) 1 numérique. POWER Renvoie le résultat de l élévation d une expression POWER(4,2) 16 numérique à une puissance donnée. ROUND Renvoie une expression numérique, arrondie à la ROUND(37.4567,2) 37.46 précision indiquée. SIGN Renvoie le signe (+ ou -) d une expression numérique ou SIGN(100) + 0. SQUARE Renvoie le carré d une expression numérique. SQUARE(5) 25 SQRT Renvoie la racine carrée d une expression numérique. SQRT(36) 6 Les fonctions de chaînes de caractères suivantes sont utilisables dans les expressions : Fonction Description Exemple Résultat CODEPOINT Renvoie la valeur du code Unicode (en CODEPOINT("Bonjour") 66 décimal) du caractère situé à l extrême gauche d une chaîne de caractère. FINDSTRING Renvoie l'index de base 1 de FINDSTRING("A B C A", A,2) 7 l'occurrence spécifiée d'une chaîne de caractères dans une expression. HEX Renvoie une chaîne de caractères HEX(977) 3D1 représentant la valeur hexadécimale d un entier. LEN Renvoie le nombre de caractères dans LEN("A B C") 5 une chaîne de caractères. LOWER Renvoie une chaîne de caractères en LOWER("Abc Def") abc def minuscule. LTRIM Renvoie une chaîne de caractères LTRIM(" A B") A B après avoir supprimé les espaces de début. REPLACE Renvoie une chaîne de caractères après le remplacement d une chaîne REPLACE("Bonjour Martin","Martin","Louis") Bonjour Louis située dans l expression. REPLICATE Renvoie une chaîne de caractères REPLICATE("La",4) LaLaLaLa répliquée un certain nombre de fois. REVERSE Renvoie une chaîne de caractères dans un ordre inversé. REVERSE("ABC") CBA

12 SQL Server : Mettre en place une solution SSIS [02/07/09] RIGHT RTRIM SUBSTRING TRIM UPPER Renvoie la partie d'une chaîne de caractères commençant au nombre de caractères spécifié, à partir de la droite. Renvoie une chaîne de caractères après la suppression des espaces de fin. Renvoie une partie d une chaîne de caractères. Renvoie une chaîne de type caractère après la suppression des espaces de début et de fin. Renvoie une chaîne de caractères en majuscule. RIGHT("Bonjour!",6) jour! RTRIM("A B ") A B SUBSTRING("Bonjour",3,2) jo TRIM(" A B ") A B UPPER("Bonjour") BONJOUR Nous pouvons utiliser les fonctions de date suivantes dans les expressions : Fonction Description Exemple Résultat DATEADD Renvoie une nouvelle DATEADD("day",100, 2009-04- valeur DT_DBTIMESTAMP en ajoutant un intervalle de date ou d'heure à une date spécifiée. (DT_DBTIMESTAMP)"1/1/2009") 11 00 :00 :00 DATEDIFF Renvoie la différence de temps entre deux dates. DATEPART Renvoie un entier représentant une partie d'une date. DAY Renvoie un entier représentant le jour de la date spécifiée. GETDATE Renvoie la date actuelle du système. GETUTCDATE Renvoie la date actuelle du système en temps UTC (Universal Time Coordinate ou Greenwich Mean Time). MONTH Renvoie un entier représentant le mois de la date spécifiée. YEAR Renvoie un entier représentant l'année de la date spécifiée. DATEDIFF("month", (DT_DBTIMESTAMP)"1/1/2009", (DT_DBTIMESTAMP"4/1/2009") DATEPART("year", (DT_DBTIMESTAMP)"4/28/2009") 4 2009 DAY((DT_DBTIMESTAMP)"4/28/2009") 28 GETDATE() 2009-08- 19 13 :59 :37 GETUTCDATE() 2009-08- 19 12 :06 :06 MONTH((DT_DBTIMESTAMP)"4/28/2009") 4 YEAR((DT_DBTIMESTAMP)"4 /28/2009") 2009

13 SQL Server : Mettre en place une solution SSIS [02/07/09] Les fonctions Null suivantes sont supportées par les expressions : Fonction Description Exemple ISNULL Renvoie une valeur booléenne basée sur le test du caractère NULL ISNULL(@Var) d'une expression. NULL Renvoie une valeur NULL d'un type de données demandé. NULL(DT_STR,10) *La plupart des éléments des tableaux de ce chapitre proviennent du MSDN SSIS*

14 SQL Server : Mettre en place une solution SSIS [02/07/09] 4 Conclusion Ce chapitre sur les variables prend fin, nous avons pu découvrir la diversité des types de variables présents dans SSIS ainsi que les fonctions qui permettent de les exploiter. Dans le chapitre 3, nous allons lister et utiliser chaque tâche de flux de données et de flux de contrôle et mettre en pratique les connaissances acquises dans ce chapitre.