Cast (SSIS)
Convertit explicitement une expression d'un type de données vers un autre. L'opérateur de conversion peut également fonctionner comme opérateur de troncation.
Syntaxe
(type_spec) expression
Arguments
type_spec
Type de données SSIS valide.
expression
Expression valide.
Types des résultats
Le type de données type_spec. Pour plus d'informations, consultez Types de données d'Integration Services.
Notes
Le schéma suivant montre les opérations de conversion valides.
La conversion vers certains types de données nécessite des paramètres. Le tableau suivant décrit ces types de données et leurs paramètres.
Type de données | Paramètre | Exemple |
---|---|---|
DT_STR |
charcount codepage |
L'expression (DT_STR,30,1252) convertit 30 octets, ou 30 caractères codés sur un octet, vers le type de données DT_STR à l'aide de la page de codes 1252. |
DT_WSTR |
Charcount |
L'expression (DT_WSTR,20) convertit 20 paires d'octets, ou 20 caractères Unicode, vers le type de données DT_WSTR. |
DT_BYTES |
Bytecount |
L'expression (DT_BYTES,50) convertit 50 octets vers le type de données DT_BYTES. |
DT_DECIMAL |
Scale |
L'expression (DT_DECIMAL,2) convertit une valeur numérique dans le type de données DT_DECIMAL avec une échelle égale à 2. |
DT_NUMERIC |
Precision Scale |
L'expression (DT_NUMERIC,10,3) convertit une valeur numérique dans le type de données DT_NUMERIC avec une précision de 10 et une échelle de 3. |
DT_TEXT |
Codepage |
L'expression (DT_TEXT,1252) convertit une valeur vers le type de données DT_TEXT à l'aide de la page de codes 1252. |
Vous devez accorder une attention particulière aux dates lorsque vous utilisez l'opérateur de conversion.
Lorsque vous convertissez une chaîne vers un type de données DT_DATE ou vice versa, les paramètres régionaux de la transformation sont utilisés.
Remarque : La date se présente dans le format ISO AAAA-MM-JJ, bien que les préférences des paramètres régionaux puissent définir un format différent. La conversion d'une chaîne vers un type de données date autre que DT_DATE donne les résultats suivants.
Type de données Format de la date DT_DBDATE
aaaa-mm-jj
DT_FILETIME
aaaa-mm-jj hh:mm:ss:fff
DT_DBTIME
hh:mm:ss
DT_DBTIMESTAMP
aaaa-mm-jj hh:mm:ss:fffffffff
Dans le format de date de DT_FILETIME, « fff » représente une valeur comprise entre 0 et 999. Le format est le même que celui du type de données Windows SYSTEMTIME.
Dans le format de date de DT_DBTIMESTAMP, « fffffffff » représente une valeur comprise entre 0 et 999999999.
Si la page de codes est une page de codes de caractères multi-octets, le nombre d'octets et de caractères peut différer. La conversion d'un type de données DT_WSTR dans un type de données DT_STR avec la même valeur charcount peut provoquer la troncation des caractères finaux dans la chaîne convertie. Si l'espace de stockage disponible est suffisant dans la colonne de la table de destination, définissez la valeur du paramètre charcount de manière à ce qu'elle puisse contenir le nombre d'octets nécessaire à la page de codes multi-octets. Par exemple, si vous convertissez des données de type caractère dans un type de données DT_STR à l'aide de la page de codes 936, vous devez attribuer au paramètre charcount une valeur jusqu'à deux fois supérieure au nombre de caractères attendus dans les données ; si vous convertissez des données de type caractère à l'aide de la page de codes UTF-8, vous devez attribuer au paramètre charcount une valeur jusqu'à quatre fois supérieure.
Exemples
L'exemple suivant convertit une valeur numérique en un entier.
(DT_I4) 3.57
L'exemple suivant convertit un entier en une chaîne de caractères à l'aide de la page de codes 1252.
(DT_STR,1,1252)5
L'exemple suivant convertit une chaîne de trois caractères en caractères codés sur deux octets.
(DT_WSTR,3)"Cat"
L'exemple suivant convertit un entier en un nombre décimal avec une échelle de deux.
(DT_DECIMAl,2)500
L'exemple suivant convertit un entier en une valeur numérique avec une précision de sept et une échelle de trois.
(DT_NUMERIC,7,3)4000
L'exemple suivant convertit les valeurs de la colonne FirstName, définie avec un type de données nvarchar et une longueur de 50, en une chaîne de caractères à l'aide de la page de codes 1252.
(DT_STR,50,1252)FirstName
L'exemple suivant convertit le littéral de chaîne "True" en une valeur booléenne.
(DT_BOOL)"True"
Voir aussi
Concepts
Priorités et associativité des opérateurs