Tous les produits
Search
Centre de documentation

Realtime Compute for Apache Flink:Conversion des types de données

Dernière mise à jour :Aug 13, 2026

En plus des types de données SQL Apache Flink communautaires, Realtime Compute for Apache Flink prend en charge les conversions de types implicites. Cette rubrique présente la matrice de prise en charge des conversions de types.

Points d'attention

  • Par défaut, Realtime Compute for Apache Flink active le comportement Legacy-Cast. Ce comportement s'applique aux opérations de cast générées par les conversions de types explicites et implicites.

    • Description du paramètre

      Introduit dans la version 1.15 de Flink communautaire, le paramètre table.exec.legacy-cast-behaviour force les conversions d'un type de données source vers un type cible lors des conversions explicites et implicites. Notez que ces conversions peuvent entraîner une troncature de précision, un dépassement de valeur ou le retour de valeurs null. Pour assurer la rétrocompatibilité, la valeur par défaut sur le cloud est enabled, tandis que celle d'Apache Flink est disabled.

    • À propos de CAST

      Par défaut, CAST gère les exceptions de conversion en retournant des valeurs null sans lever d'erreurs explicites. Dans les scénarios nécessitant une vérification stricte des exceptions, définissez table.exec.legacy-cast-behaviour=disabled afin que les jobs lèvent des erreurs explicites lorsqu'ils rencontrent des conversions de données anormales.

    • À propos de TRY_CAST

      Utilisez TRY_CAST au besoin pour les conversions de types explicites. Cette fonction retourne null lorsqu'une exception de conversion survient, sans provoquer d'erreurs entraînant l'échec du job. Cela équivaut à utiliser CAST avec le paramètre table.exec.legacy-cast-behaviour défini sur enabled.

  • Pour les valeurs null, utilisez une syntaxe de conversion explicite telle que cast(null as target_type), par exemple cast(null as varchar). Vous évitez ainsi des résultats inattendus comme la chaîne « NULL » ou des exceptions de conversion.

Matrice de prise en charge des conversions de types

Type source\Type cible

null

boolean

tinyint

smallint

int

bigint

decimal

float

double

interval

date

time

timestamp

[var]char

[var]binary

variant

bitmap

image

null

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

boolean

-

I

E

E

E

E

E

E

E

-

-

-

-

I

-

E

-

-

tinyint

-

E

I

I

I

I

I

I

I

E

-

-

E

I

-

E

-

-

smallint

-

E

I

I

I

I

I

I

I

E

-

-

E

I

-

E

-

-

int

-

E

I

I

I

I

I

I

I

E

-

-

E

I

-

E

-

-

bigint

-

E

I

I

I

I

I

I

I

E

-

-

E

I

-

E

-

-

decimal

-

E

I

I

I

I

I

I

I

E

-

-

E

I

-

E

-

-

float

-

E

I

I

I

I

I

I

I

-

-

-

E

I

-

E

-

-

double

-

E

I

I

I

I

I

I

I

-

-

-

E

I

-

E

-

-

interval

-

-

E

E

E

E

E

-

-

I

-

-

-

E

-

E

-

-

date

-

-

-

-

-

-

-

-

-

-

I

-

I

I

-

E

-

-

time

-

-

-

-

-

-

-

-

-

-

-

I

E

I

-

E

-

-

timestamp

-

-

E

E

E

E

E

E

E

-

I

E

I

I

-

E

-

-

[var]char

-

E

I

I

I

I

I

I

I

I

I

I

I

I

I

E

-

-

[var]binary

-

-

-

-

-

-

-

-

-

-

E

E

E

I

I

E

-

-

variant

-

E

E

E

E

E

E

E

E

E

E

E

E

E

E

I

-

-

bitmap

-

-

-

-

-

-

-

-

-

-

-

-

-

E

E

-

I

-

image

-

-

-

-

-

-

-

-

-

-

-

-

-

E

E

-

-

I

Les symboles sont définis comme suit :

  • E : Seule la conversion de type explicite est prise en charge.

  • I : La conversion de type implicite est prise en charge.

  • : La conversion de type n'est pas prise en charge.

Références

Pour consulter les types de données SQL pris en charge par la communauté Apache Flink, reportez-vous à Types de données SQL Flink communautaires.