Share via


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.

Conversions légales et illégales entre types de données

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.

    ms141704.note(fr-fr,SQL.90).gifRemarque :
    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

Autres ressources

Opérateurs (SSIS)

Aide et Informations

Assistance sur SQL Server 2005