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. |
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. Toutefois, la date se présente dans le format ISO AAAA-MM-JJJ, que les préférences des paramètres régionaux utilisent ou non le format ISO.
[!REMARQUE]
Pour convertir une chaîne en type de données date autre que DT_DATE, consultez Types de données d'Integration Services.
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.
Pour plus d'informations sur la structure des types de données date, consultez Types de données d'Integration Services).
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"
Cet exemple convertit un littéral de chaîne en DT_DBDATE.
(DT_DBDATE) "1999-10-11"
Cet exemple convertit un littéral de chaîne en type de données DT_DBTIME2 qui utilise 5 chiffres pour les fractions de seconde. (Le type de données DT_DBTIME2 peut avoir entre 0 et 7 chiffres spécifiés pour les fractions de seconde.)
(DT_DBTIME2, 5) "16:34:52.12345"
Cet exemple convertit un littéral de chaîne en type de données DT_DBTIMESTAMP2 qui utilise 4 chiffres pour les fractions de seconde. (Le type de données DT_DBTIMESTAMP2 peut avoir entre 0 et 7 chiffres spécifiés pour les fractions de seconde.)
(DT_DBTIMESTAMP2, 4) "1999-10-11 16:34:52.1234"
Cet exemple convertit un littéral de chaîne en type de données DT_DBTIMESTAMPOFFSET qui utilise 7 chiffres pour les fractions de seconde. (Le type de données DT_DBTIMESTAMPOFFSET peut avoir entre 0 et 7 chiffres spécifiés pour les fractions de seconde.)
(DT_DBTIMESTAMPOFFSET, 7) "1999-10-11 16:34:52.1234567 + 5:35"
Voir aussi