Passer au contenu principal

Problèmes courants de conversion des données

ClickHouse utilise généralement le même comportement que les programmes C++. Les fonctions to<type> et cast se comportent différemment dans certains cas, par exemple avec LowCardinality : cast supprime l’attribut LowCardinality, contrairement aux fonctions to<type>. Il en va de même pour Nullable. Ce comportement n’est pas conforme à la norme SQL, et peut être modifié à l’aide du paramètre cast_keep_nullable.
Gardez à l’esprit qu’il existe un risque de perte de données si des valeurs d’un type sont converties vers un type plus petit (par exemple de Int64 vers Int32) ou entre des types incompatibles (par exemple de String vers Int). Vérifiez soigneusement que le résultat correspond bien à ce que vous attendez.
Exemple :
SELECT
    toTypeName(toLowCardinality('') AS val) AS source_type,
    toTypeName(toString(val)) AS to_type_result_type,
    toTypeName(CAST(val, 'String')) AS cast_result_type

┌─source_type────────────┬─to_type_result_type────┬─cast_result_type─┐
│ LowCardinality(String) │ LowCardinality(String) │ String           │
└────────────────────────┴────────────────────────┴──────────────────┘

SELECT
    toTypeName(toNullable('') AS val) AS source_type,
    toTypeName(toString(val)) AS to_type_result_type,
    toTypeName(CAST(val, 'String')) AS cast_result_type

┌─source_type──────┬─to_type_result_type─┬─cast_result_type─┐
│ Nullable(String) │ Nullable(String)    │ String           │
└──────────────────┴─────────────────────┴──────────────────┘

SELECT
    toTypeName(toNullable('') AS val) AS source_type,
    toTypeName(toString(val)) AS to_type_result_type,
    toTypeName(CAST(val, 'String')) AS cast_result_type
SETTINGS cast_keep_nullable = 1

┌─source_type──────┬─to_type_result_type─┬─cast_result_type─┐
│ Nullable(String) │ Nullable(String)    │ Nullable(String) │
└──────────────────┴─────────────────────┴──────────────────┘

Remarques sur les fonctions toString

La famille de fonctions toString permet de convertir des nombres, des chaînes (mais pas des chaînes fixes), des dates et des dates avec heure. Toutes ces fonctions acceptent un argument.
  • Lors d’une conversion vers ou depuis une chaîne, la valeur est formatée ou analysée selon les mêmes règles que pour le format TabSeparated (ainsi que pour presque tous les autres formats texte). Si la chaîne ne peut pas être analysée, une exception est levée et la requête est annulée.
  • Lors de la conversion de dates en nombres ou inversement, la date correspond au nombre de jours écoulés depuis le début de l’époque Unix.
  • Lors de la conversion de dates avec heure en nombres ou inversement, la date avec heure correspond au nombre de secondes écoulées depuis le début de l’époque Unix.
  • La fonction toString appliquée à un argument DateTime peut accepter un deuxième argument String contenant le nom du fuseau horaire, par exemple : Europe/Amsterdam. Dans ce cas, l’heure est formatée selon le fuseau horaire spécifié.

Remarques sur les fonctions toDate/toDateTime

Les formats de date et de date avec heure des fonctions toDate/toDateTime sont définis comme suit :
YYYY-MM-DD
YYYY-MM-DD hh:mm:ss
À titre d’exception, lors de la conversion de types numériques UInt32, Int32, UInt64 ou Int64 vers Date, si le nombre est supérieur ou égal à 65536, il est interprété comme un timestamp Unix (et non comme un nombre de jours), puis arrondi à la date. Cela permet de prendre en charge le cas courant où l’on écrit toDate(unix_timestamp), ce qui, autrement, produirait une erreur et imposerait d’écrire la forme plus lourde toDate(toDateTime(unix_timestamp)). La conversion entre une date et une date avec heure s’effectue naturellement : en ajoutant une heure nulle ou en supprimant l’heure. La conversion entre types numériques suit les mêmes règles que les affectations entre différents types numériques en C++. Exemple
Query
SELECT
    now() AS ts,
    time_zone,
    toString(ts, time_zone) AS str_tz_datetime
FROM system.time_zones
WHERE time_zone LIKE 'Europe%'
LIMIT 10
Response
┌──────────────────ts─┬─time_zone─────────┬─str_tz_datetime─────┐
│ 2023-09-08 19:14:59 │ Europe/Amsterdam  │ 2023-09-08 21:14:59 │
│ 2023-09-08 19:14:59 │ Europe/Andorra    │ 2023-09-08 21:14:59 │
│ 2023-09-08 19:14:59 │ Europe/Astrakhan  │ 2023-09-08 23:14:59 │
│ 2023-09-08 19:14:59 │ Europe/Athens     │ 2023-09-08 22:14:59 │
│ 2023-09-08 19:14:59 │ Europe/Belfast    │ 2023-09-08 20:14:59 │
│ 2023-09-08 19:14:59 │ Europe/Belgrade   │ 2023-09-08 21:14:59 │
│ 2023-09-08 19:14:59 │ Europe/Berlin     │ 2023-09-08 21:14:59 │
│ 2023-09-08 19:14:59 │ Europe/Bratislava │ 2023-09-08 21:14:59 │
│ 2023-09-08 19:14:59 │ Europe/Brussels   │ 2023-09-08 21:14:59 │
│ 2023-09-08 19:14:59 │ Europe/Bucharest  │ 2023-09-08 22:14:59 │
└─────────────────────┴───────────────────┴─────────────────────┘
Voir aussi la fonction toUnixTimestamp.

CAST

Introduit dans : v1.1.0 Convertit une valeur en un type de données donné. Contrairement à la fonction reinterpret, CAST tente de produire la même valeur dans le type cible. Si ce n’est pas possible, une exception est levée. Syntaxe
CAST(x, T)
or CAST(x AS T)
or x::T
Arguments
  • x — Une valeur de n’importe quel type. Any
  • T — Le type de données cible. String
Valeur renvoyée Renvoie la valeur convertie dans le type de données cible. Any Exemples Utilisation de base
Query
SELECT CAST(42, 'String')
Response
┌─CAST(42, 'String')─┐
│ 42                 │
└────────────────────┘
Utilisation de la syntaxe AS
Query
SELECT CAST('2025-01-01' AS Date)
Response
┌─CAST('2025-01-01', 'Date')─┐
│                 2025-01-01 │
└────────────────────────────┘
Utilisation de la syntaxe ::
Query
SELECT '123'::UInt32
Response
┌─CAST('123', 'UInt32')─┐
│                   123 │
└───────────────────────┘

DATE

Introduit dans : v21.2.0 Convertit l’argument en type de données Date. Il s’agit d’un alias de compatibilité MySQL pour toDate. Son comportement est identique à celui de toDate. Syntaxe
DATE(expr)
Arguments Valeur renvoyée Renvoie une valeur de type Date. Exemples Utilisation de base
Query
SELECT DATE('2023-01-01')
Response
2023-01-01

accurateCast

Introduit dans : v1.1.0 Convertit une valeur vers un type de données spécifié. Contrairement à CAST, accurateCast applique une vérification de type plus stricte et lève une exception si la conversion entraîne une perte de précision des données ou si elle est impossible. Cette fonction est plus sûre que CAST, car elle empêche les pertes de précision et les conversions invalides. Syntaxe
accurateCast(x, T)
Arguments
  • x — Une valeur à convertir. Any
  • T — Le nom du type de données cible. String
Valeur renvoyée Renvoie la valeur convertie dans le type de données cible. Any Exemples Conversion réussie
Query
SELECT accurateCast(42, 'UInt16')
Response
┌─accurateCast(42, 'UInt16')─┐
│                        42 │
└───────────────────────────┘
Chaîne vers un nombre
Query
SELECT accurateCast('123.45', 'Float64')
Response
┌─accurateCast('123.45', 'Float64')─┐
│                            123.45 │
└───────────────────────────────────┘

accurateCastOrDefault

Introduit dans : v21.1.0 Convertit une valeur dans un type de données spécifié. Comme accurateCast, mais renvoie une valeur par défaut au lieu de lever une exception si la conversion ne peut pas être effectuée de manière précise. Si une valeur par défaut est fournie comme deuxième argument, elle doit être du type cible. Si aucune valeur par défaut n’est fournie, la valeur par défaut du type cible est utilisée. Syntaxe
accurateCastOrDefault(x, T[, default_value])
Arguments
  • x — Une valeur à convertir. Any
  • T — Le nom du type de données cible. const String
  • default_value — Facultatif. Valeur par défaut à renvoyer si la conversion échoue. Any
Valeur renvoyée Renvoie la valeur convertie dans le type de données cible, ou la valeur par défaut si la conversion n’est pas possible. Any Exemples Conversion réussie
Query
SELECT accurateCastOrDefault(42, 'String')
Response
┌─accurateCastOrDefault(42, 'String')─┐
│ 42                                  │
└─────────────────────────────────────┘
Conversion échouée avec valeur par défaut explicite
Query
SELECT accurateCastOrDefault('abc', 'UInt32', 999::UInt32)
Response
┌─accurateCastOrDefault('abc', 'UInt32', 999)─┐
│                                         999 │
└─────────────────────────────────────────────┘
Échec de conversion avec valeur par défaut implicite
Query
SELECT accurateCastOrDefault('abc', 'UInt32')
Response
┌─accurateCastOrDefault('abc', 'UInt32')─┐
│                                      0 │
└────────────────────────────────────────┘

accurateCastOrNull

Introduit dans : v1.1.0 Convertit une valeur dans un type de données spécifié. Comme accurateCast, mais renvoie NULL au lieu de lever une exception si la conversion ne peut pas être effectuée avec précision. Cette fonction combine la sécurité de accurateCast avec une gestion souple des erreurs. Syntaxe
accurateCastOrNull(x, T)
Arguments
  • x — Une valeur à convertir. Any
  • T — Le nom du type de données cible. String
Valeur renvoyée Renvoie la valeur convertie dans le type de données cible, ou NULL si la conversion n’est pas possible. Any Exemples Conversion réussie
Query
SELECT accurateCastOrNull(42, 'String')
Response
┌─accurateCastOrNull(42, 'String')─┐
│ 42                               │
└──────────────────────────────────┘
En cas d’échec, la conversion renvoie NULL
Query
SELECT accurateCastOrNull('abc', 'UInt32')
Response
┌─accurateCastOrNull('abc', 'UInt32')─┐
│                                ᴺᵁᴸᴸ │
└─────────────────────────────────────┘

formatRow

Introduit dans : v20.7.0 Convertit des expressions arbitraires en chaîne de caractères à l’aide du format spécifié.
Si le format contient un suffixe/préfixe, il sera écrit sur chaque ligne. Seuls les formats basés sur les lignes sont pris en charge par cette fonction.
Syntaxe
formatRow(format, x, y, ...)
Arguments
  • format — Format texte. Par exemple, CSV, TSV. String
  • x, y, ... — Expressions. Any
Valeur renvoyée Une chaîne mise en forme. (pour les formats texte, elle se termine généralement par un caractère de saut de ligne). String Exemples Utilisation de base
Query
SELECT formatRow('CSV', number, 'good')
FROM numbers(3)
Response
┌─formatRow('CSV', number, 'good')─┐
│ 0,"good"

│ 1,"good"

│ 2,"good"

└──────────────────────────────────┘
Avec un format personnalisé
Query
SELECT formatRow('CustomSeparated', number, 'good')
FROM numbers(3)
SETTINGS format_custom_result_before_delimiter='<prefix>\n', format_custom_result_after_delimiter='<suffix>'
Response
┌─formatRow('CustomSeparated', number, 'good')─┐
│ <prefix>
0    good
<suffix>                   │
│ <prefix>
1    good
<suffix>                   │
│ <prefix>
2    good
<suffix>                   │
└──────────────────────────────────────────────┘

formatRowNoNewline

Introduit dans : v20.7.0 Identique à formatRow, mais supprime le caractère de nouvelle ligne de chaque ligne. Convertit des expressions arbitraires en chaîne à l’aide du format donné, mais supprime tout caractère de nouvelle ligne final du résultat. Syntaxe
formatRowNoNewline(format, x, y, ...)
Arguments
  • format — Format de texte. Par exemple, CSV, TSV. String
  • x, y, ... — Expressions. Any
Valeur renvoyée Renvoie une chaîne formatée dont les retours à la ligne ont été supprimés. String Exemples Utilisation de base
Query
SELECT formatRowNoNewline('CSV', number, 'good')
FROM numbers(3)
Response
┌─formatRowNoNewline('CSV', number, 'good')─┐
│ 0,"good"                                  │
│ 1,"good"                                  │
│ 2,"good"                                  │
└───────────────────────────────────────────┘

fromUnixTimestamp64Micro

Introduit dans : v20.5.0 Convertit un timestamp Unix en microsecondes en valeur DateTime64 avec une précision à la microseconde. La valeur d’entrée est traitée comme un timestamp Unix avec une précision à la microseconde (nombre de microsecondes écoulées depuis 1970-01-01 00:00:00 UTC). Syntaxe
fromUnixTimestamp64Micro(value[, timezone])
Arguments
  • value — Timestamp Unix en microsecondes. Int64
  • timezone — Facultatif. Fuseau horaire de la valeur renvoyée. String
Valeur renvoyée Renvoie une valeur DateTime64 avec une précision en microsecondes. DateTime64(6) Exemples Exemple d’utilisation
Query
SELECT fromUnixTimestamp64Micro(1640995200123456)
Response
┌─fromUnixTimestamp64Micro(1640995200123456)─┐
│                 2022-01-01 00:00:00.123456 │
└────────────────────────────────────────────┘

fromUnixTimestamp64Milli

Introduit dans : v20.5.0 Convertit un timestamp Unix en millisecondes en valeur DateTime64 avec une précision de l’ordre de la milliseconde. La valeur d’entrée est traitée comme un timestamp Unix avec une précision à la milliseconde (nombre de millisecondes écoulées depuis 1970-01-01 00:00:00 UTC). Syntaxe
fromUnixTimestamp64Milli(value[, timezone])
Arguments
  • value — timestamp Unix en millisecondes. Int64
  • timezone — Facultatif. Fuseau horaire de la valeur renvoyée. String
Valeur renvoyée Une valeur DateTime64 avec une précision à la milliseconde. DateTime64(3) Exemples Exemple d’utilisation
Query
SELECT fromUnixTimestamp64Milli(1640995200123)
Response
┌─fromUnixTimestamp64Milli(1640995200123)─┐
│                 2022-01-01 00:00:00.123 │
└─────────────────────────────────────────┘

fromUnixTimestamp64Nano

Introduit dans : v20.5.0 Convertit un timestamp Unix en nanosecondes en une valeur DateTime64 avec une précision en nanosecondes. La valeur d’entrée est traitée comme un timestamp Unix avec une précision en nanosecondes (nombre de nanosecondes écoulées depuis 1970-01-01 00:00:00 UTC).
Veuillez noter que la valeur d’entrée est traitée comme un timestamp UTC, et non selon son fuseau horaire.
Syntaxe
fromUnixTimestamp64Nano(value[, timezone])
Arguments
  • value — timestamp Unix en nanosecondes. Int64
  • timezone — Facultatif. Fuseau horaire de la valeur renvoyée. String
Valeur renvoyée Renvoie une valeur DateTime64 avec une précision à la nanoseconde. DateTime64(9) Exemples Exemple d’utilisation
Query
SELECT fromUnixTimestamp64Nano(1640995200123456789)
Response
┌─fromUnixTimestamp64Nano(1640995200123456789)─┐
│                2022-01-01 00:00:00.123456789 │
└──────────────────────────────────────────────┘

fromUnixTimestamp64Second

Introduit dans : v24.12.0 Convertit un timestamp Unix en secondes en valeur DateTime64 avec une précision à la seconde. La valeur d’entrée est traitée comme un timestamp Unix avec une précision à la seconde (nombre de secondes écoulées depuis 1970-01-01 00:00:00 UTC). Syntaxe
fromUnixTimestamp64Second(value[, timezone])
Arguments
  • value — timestamp Unix en secondes. Int64
  • timezone — Facultatif. Fuseau horaire de la valeur renvoyée. String
Valeur renvoyée Renvoie une valeur DateTime64 avec une précision à la seconde. DateTime64(0) Exemples Exemple d’utilisation
Query
SELECT fromUnixTimestamp64Second(1640995200)
Response
┌─fromUnixTimestamp64Second(1640995200)─┐
│                   2022-01-01 00:00:00 │
└───────────────────────────────────────┘

parseDateTime

Introduit dans : v23.3.0 Analyse une chaîne de date et d’heure selon une chaîne de format de date MySQL. Cette fonction est l’inverse de formatDateTime. Elle analyse un argument de type String à l’aide d’une chaîne de format String. Elle renvoie un type DateTime. Syntaxe
parseDateTime(time_string, format[, timezone])
Alias : TO_UNIXTIME Arguments
  • time_string — Chaîne à analyser en DateTime. String
  • format — Chaîne de format indiquant comment analyser time_string. String
  • timezone — Facultatif. Fuseau horaire. String
Valeur renvoyée Renvoie un DateTime analysé à partir de la chaîne d’entrée selon la chaîne de format de style MySQL. DateTime Exemples Exemple d’utilisation
Query
SELECT parseDateTime('2025-01-04+23:00:00', '%Y-%m-%d+%H:%i:%s')
Response
┌─parseDateTime('2025-01-04+23:00:00', '%Y-%m-%d+%H:%i:%s')─┐
│                                       2025-01-04 23:00:00 │
└───────────────────────────────────────────────────────────┘

parseDateTime32BestEffort

Introduite dans : v20.9.0 Convertit la représentation sous forme de chaîne d’une date et d’une heure en type de données DateTime. La fonction analyse les formats ISO 8601, RFC 1123 - 5.2.14 RFC-822 Date and Time Specification, ceux de ClickHouse, ainsi que certains autres formats de date et d’heure. Syntaxe
parseDateTime32BestEffort(time_string[, time_zone])
Arguments
  • time_stringString contenant une date et une heure à convertir. String
  • time_zone — Facultatif. Fuseau horaire selon lequel time_string est interprété. String
Valeur renvoyée Renvoie time_string en DateTime. DateTime Exemples Exemple d’utilisation
Query
SELECT parseDateTime32BestEffort('23/10/2025 12:12:57')
AS parseDateTime32BestEffort
Response
┌─parseDateTime32BestEffort─┐
│       2025-10-23 12:12:57 │
└───────────────────────────┘
Avec un fuseau horaire
Query
SELECT parseDateTime32BestEffort('Sat, 18 Aug 2025 07:22:16 GMT', 'Asia/Istanbul')
AS parseDateTime32BestEffort
Response
┌─parseDateTime32BestEffort─┐
│       2025-08-18 10:22:16 │
└───────────────────────────┘
timestamp Unix
Query
SELECT parseDateTime32BestEffort('1284101485')
AS parseDateTime32BestEffort
Response
┌─parseDateTime32BestEffort─┐
│       2015-07-07 12:04:41 │
└───────────────────────────┘

parseDateTime32BestEffortOrNull

Introduit dans : v20.9.0 Identique à parseDateTime32BestEffort, sauf qu’elle renvoie NULL lorsqu’elle rencontre un format de date qu’elle ne peut pas traiter. Syntaxe
parseDateTime32BestEffortOrNull(time_string[, time_zone])
Arguments
  • time_stringString contenant une date et une heure à convertir. String
  • time_zone — Facultatif. Fuseau horaire selon lequel time_string est interprété. String
Valeur renvoyée Renvoie un objet DateTime interprété à partir de la chaîne, ou NULL si l’analyse échoue. DateTime Exemples Exemple d’utilisation
Query
SELECT
    parseDateTime32BestEffortOrNull('23/10/2025 12:12:57') AS valid,
    parseDateTime32BestEffortOrNull('invalid date') AS invalid
Response
┌─valid───────────────┬─invalid─┐
│ 2025-10-23 12:12:57 │    ᴺᵁᴸᴸ │
└─────────────────────┴─────────┘

parseDateTime32BestEffortOrZero

Introduit dans : v20.9.0 Identique à parseDateTime32BestEffort, sauf qu’elle renvoie une date nulle ou une date et heure nulles lorsqu’elle rencontre un format de date qui ne peut pas être traité. Syntaxe
parseDateTime32BestEffortOrZero(time_string[, time_zone])
Arguments
  • time_stringString contenant une date et une heure à convertir. String
  • time_zone — Facultatif. Fuseau horaire selon lequel time_string est interprétée. String
Valeur renvoyée Renvoie un objet DateTime interprété à partir de la chaîne, ou la date zéro (1970-01-01 00:00:00) si l’analyse échoue. DateTime Exemples Exemple d’utilisation
Query
SELECT
    parseDateTime32BestEffortOrZero('23/10/2025 12:12:57') AS valid,
    parseDateTime32BestEffortOrZero('invalid date') AS invalid
Response
┌─valid───────────────┬─invalid─────────────┐
│ 2025-10-23 12:12:57 │ 1970-01-01 00:00:00 │
└─────────────────────┴─────────────────────┘

parseDateTime64

Introduit dans : v24.11.0 Analyse une chaîne de date et d’heure avec une précision sub-secondes selon une chaîne de format de date MySQL. Cette fonction est l’inverse de formatDateTime pour DateTime64. Elle analyse un argument de type String à l’aide d’un format String. Elle renvoie un type DateTime64 capable de représenter des dates de 1900 à 2299 avec une précision sub-secondes. Syntaxe
parseDateTime64(time_string, format[, timezone])
Arguments
  • time_string — Chaîne à analyser pour obtenir un DateTime64. String
  • format — Chaîne de format indiquant comment analyser time_string. String
  • timezone — Facultatif. Fuseau horaire. String
Valeur renvoyée Renvoie un DateTime64 obtenu par analyse de la chaîne d’entrée selon une chaîne de format de style MySQL. DateTime64 Exemples Exemple d’utilisation
Query
SELECT parseDateTime64('2025-01-04 23:00:00.123', '%Y-%m-%d %H:%i:%s.%f')
Response
┌─parseDateTime64('2025-01-04 23:00:00.123', '%Y-%m-%d %H:%i:%s.%f')─┐
│                                       2025-01-04 23:00:00.123       │
└─────────────────────────────────────────────────────────────────────┘

parseDateTime64BestEffort

Introduit dans : v20.1.0 Identique à la fonction parseDateTimeBestEffort, mais prend également en charge l’analyse des millisecondes et des microsecondes, et renvoie le type de données DateTime64. Syntaxe
parseDateTime64BestEffort(time_string[, precision[, time_zone]])
Arguments
  • time_stringString contenant une date ou une date avec heure à convertir. String
  • precision — Facultatif. Précision requise. 3 pour les millisecondes, 6 pour les microsecondes. Par défaut : 3. UInt8
  • time_zone — Facultatif. Fuseau horaire. La fonction interprète time_string en fonction du fuseau horaire. String
Valeur renvoyée Renvoie time_string converti en type de données DateTime64. DateTime64 Exemples Exemple d’utilisation
Query
SELECT parseDateTime64BestEffort('2025-01-01') AS a, toTypeName(a) AS t
UNION ALL
SELECT parseDateTime64BestEffort('2025-01-01 01:01:00.12346') AS a, toTypeName(a) AS t
UNION ALL
SELECT parseDateTime64BestEffort('2025-01-01 01:01:00.12346',6) AS a, toTypeName(a) AS t
UNION ALL
SELECT parseDateTime64BestEffort('2025-01-01 01:01:00.12346',3,'Asia/Istanbul') AS a, toTypeName(a) AS t
FORMAT PrettyCompactMonoBlock
Response
┌──────────────────────────a─┬─t──────────────────────────────┐
│ 2025-01-01 01:01:00.123000 │ DateTime64(3)                  │
│ 2025-01-01 00:00:00.000000 │ DateTime64(3)                  │
│ 2025-01-01 01:01:00.123460 │ DateTime64(6)                  │
│ 2025-12-31 22:01:00.123000 │ DateTime64(3, 'Asia/Istanbul') │
└────────────────────────────┴────────────────────────────────┘

parseDateTime64BestEffortOrNull

Introduit dans : v20.1.0 Identique à parseDateTime64BestEffort, sauf qu’elle renvoie NULL lorsqu’elle rencontre un format de date impossible à traiter. Syntaxe
parseDateTime64BestEffortOrNull(time_string[, precision[, time_zone]])
Arguments
  • time_stringString contenant une date ou une date avec heure à convertir. String
  • precision — Facultatif. Précision requise. 3 pour les millisecondes, 6 pour les microsecondes. Valeur par défaut : 3. UInt8
  • time_zone — Facultatif. Fuseau horaire. La fonction interprète time_string selon le fuseau horaire. String
Valeur renvoyée Renvoie time_string converti en DateTime64, ou NULL si l’entrée ne peut pas être interprétée. DateTime64 ou NULL Exemples Exemple d’utilisation
Query
SELECT parseDateTime64BestEffortOrNull('2025-01-01 01:01:00.123') AS valid,
       parseDateTime64BestEffortOrNull('invalid') AS invalid
Response
┌─valid───────────────────┬─invalid─┐
│ 2025-01-01 01:01:00.123 │    ᴺᵁᴸᴸ │
└─────────────────────────┴─────────┘

parseDateTime64BestEffortOrZero

Introduit dans : v20.1.0 Identique à parseDateTime64BestEffort, sauf qu’elle renvoie une date zéro ou une date-heure zéro lorsqu’elle rencontre un format de date impossible à traiter. Syntaxe
parseDateTime64BestEffortOrZero(time_string[, precision[, time_zone]])
Arguments
  • time_stringString contenant une date ou une date et heure à convertir. String
  • precision — Facultatif. Précision requise. 3 pour les millisecondes, 6 pour les microsecondes. Par défaut : 3. UInt8
  • time_zone — Facultatif. Fuseau horaire. La fonction interprète time_string selon ce fuseau horaire. String
Valeur renvoyée Renvoie time_string converti en DateTime64, ou la date/date-heure zéro (1970-01-01 00:00:00.000) si l’entrée ne peut pas être interprétée. DateTime64 Exemples Exemple d’utilisation
Query
SELECT parseDateTime64BestEffortOrZero('2025-01-01 01:01:00.123') AS valid,
       parseDateTime64BestEffortOrZero('invalid') AS invalid
Response
┌─valid───────────────────┬─invalid─────────────────┐
│ 2025-01-01 01:01:00.123 │ 1970-01-01 00:00:00.000 │
└─────────────────────────┴─────────────────────────┘

parseDateTime64BestEffortUS

Introduit dans : v22.8.0 Identique à parseDateTime64BestEffort, sauf que cette fonction privilégie le format de date américain (MM/DD/YYYY, etc.) en cas d’ambiguïté. Syntaxe
parseDateTime64BestEffortUS(time_string [, precision [, time_zone]])
Arguments
  • time_stringString contenant une date ou une date avec heure à convertir. String
  • precision — Facultatif. Précision requise. 3 pour les millisecondes, 6 pour les microsecondes. Par défaut : 3. UInt8
  • time_zone — Facultatif. Fuseau horaire. La fonction interprète time_string selon le fuseau horaire. String
Valeur renvoyée Renvoie time_string converti en DateTime64 en privilégiant le format de date US dans les cas ambigus. DateTime64 Exemples Exemple d’utilisation
Query
SELECT parseDateTime64BestEffortUS('02/10/2025 12:30:45.123') AS us_format,
       parseDateTime64BestEffortUS('15/08/2025 10:15:30.456') AS fallback_to_standard
Response
┌─us_format───────────────┬─fallback_to_standard────┐
│ 2025-02-10 12:30:45.123 │ 2025-08-15 10:15:30.456 │
└─────────────────────────┴─────────────────────────┘

parseDateTime64BestEffortUSOrNull

Introduit dans : v22.8.0 Identique à parseDateTime64BestEffort, sauf que cette fonction privilégie le format de date américain (MM/DD/YYYY, etc.) en cas d’ambiguïté et renvoie NULL lorsqu’elle rencontre un format de date qu’elle ne peut pas traiter. Syntaxe
parseDateTime64BestEffortUSOrNull(time_string[, precision[, time_zone]])
Arguments
  • time_stringString contenant une date ou une date avec heure à convertir. String
  • precision — Facultatif. Précision requise. 3 pour les millisecondes, 6 pour les microsecondes. Valeur par défaut : 3. UInt8
  • time_zone — Facultatif. Fuseau horaire. La fonction analyse time_string en fonction du fuseau horaire. String
Valeur renvoyée Renvoie time_string converti en DateTime64 avec préférence pour le format US, ou NULL si l’entrée ne peut pas être analysée. DateTime64 ou NULL Exemples Exemple d’utilisation
Query
SELECT parseDateTime64BestEffortUSOrNull('02/10/2025 12:30:45.123') AS valid_us,
       parseDateTime64BestEffortUSOrNull('invalid') AS invalid
Response
┌─valid_us────────────────┬─invalid─┐
│ 2025-02-10 12:30:45.123 │    ᴺᵁᴸᴸ │
└─────────────────────────┴─────────┘

parseDateTime64BestEffortUSOrZero

Introduit dans : v22.8.0 Identique à parseDateTime64BestEffort, à ceci près que cette fonction privilégie le format de date américain (MM/DD/YYYY, etc.) en cas d’ambiguïté et renvoie une date zéro ou une date-heure zéro lorsqu’elle rencontre un format de date qui ne peut pas être traité. Syntaxe
parseDateTime64BestEffortUSOrZero(time_string [, precision [, time_zone]])
Arguments
  • time_stringString contenant une date ou une date avec heure à convertir. String
  • precision — Facultatif. Précision requise. 3 pour les millisecondes, 6 pour les microsecondes. Par défaut : 3. UInt8
  • time_zone — Facultatif. Fuseau horaire. La fonction interprète time_string selon ce fuseau horaire. String
Valeur renvoyée Renvoie time_string converti en DateTime64 avec préférence pour le format US, ou la date zéro/la date-heure zéro (1970-01-01 00:00:00.000) si l’entrée ne peut pas être interprétée. DateTime64 Exemples Exemple d’utilisation
Query
SELECT parseDateTime64BestEffortUSOrZero('02/10/2025 12:30:45.123') AS valid_us,
       parseDateTime64BestEffortUSOrZero('invalid') AS invalid
Response
┌─valid_us────────────────┬─invalid─────────────────┐
│ 2025-02-10 12:30:45.123 │ 1970-01-01 00:00:00.000 │
└─────────────────────────┴─────────────────────────┘

parseDateTime64InJodaSyntax

Introduit dans : v24.10.0 Analyse une chaîne de date et d’heure avec une précision inférieure à la seconde, selon une chaîne de format de date Joda. Cette fonction est l’inverse de formatDateTimeInJodaSyntax pour DateTime64. Elle analyse un argument String à l’aide d’une chaîne de format de style Joda. Elle renvoie une valeur de type DateTime64, capable de représenter des dates de 1900 à 2299 avec une précision inférieure à la seconde. Consultez la documentation Joda Time pour les motifs de format. Syntaxe
parseDateTime64InJodaSyntax(time_string, format[, timezone])
Arguments
  • time_string — Chaîne à interpréter en DateTime64. String
  • format — Chaîne de format en syntaxe Joda indiquant comment interpréter time_string. String
  • timezone — Facultatif. Fuseau horaire. String
Valeur renvoyée Renvoie un DateTime64 interprété à partir de la chaîne d’entrée selon la chaîne de format de style Joda. DateTime64 Exemples Exemple d’utilisation
Query
SELECT parseDateTime64InJodaSyntax('2025-01-04 23:00:00.123', 'yyyy-MM-dd HH:mm:ss.SSS')
Response
┌─parseDateTime64InJodaSyntax('2025-01-04 23:00:00.123', 'yyyy-MM-dd HH:mm:ss.SSS')─┐
│                                                          2025-01-04 23:00:00.123   │
└────────────────────────────────────────────────────────────────────────────────────┘

parseDateTime64InJodaSyntaxOrNull

Introduit dans : v24.10.0 Identique à parseDateTime64InJodaSyntax, mais renvoie NULL si le format de date ne peut pas être analysé. Syntaxe
parseDateTime64InJodaSyntaxOrNull(time_string, format[, timezone])
Arguments
  • time_string — Chaîne à analyser en DateTime64. String
  • format — Chaîne de format en syntaxe Joda indiquant comment analyser time_string. String
  • timezone — Facultatif. Fuseau horaire. String
Valeur renvoyée Renvoie un DateTime64 analysé à partir de la chaîne d’entrée, ou NULL si l’analyse échoue. Nullable(DateTime64) Exemples Exemple d’utilisation
Query
SELECT parseDateTime64InJodaSyntaxOrNull('2025-01-04 23:00:00.123', 'yyyy-MM-dd HH:mm:ss.SSS')
Response
┌─parseDateTime64InJodaSyntaxOrNull('2025-01-04 23:00:00.123', 'yyyy-MM-dd HH:mm:ss.SSS')─┐
│                                                             2025-01-04 23:00:00.123      │
└──────────────────────────────────────────────────────────────────────────────────────────┘

parseDateTime64InJodaSyntaxOrZero

Introduit dans : v24.10.0 Identique à parseDateTime64InJodaSyntax, mais renvoie une date zéro lorsqu’elle rencontre un format de date impossible à analyser. Syntaxe
parseDateTime64InJodaSyntaxOrZero(time_string, format[, timezone])
Arguments
  • time_string — Chaîne à analyser en DateTime64. String
  • format — Chaîne de format en syntaxe Joda, indiquant comment analyser time_string. String
  • timezone — Facultatif. Fuseau horaire. String
Valeur renvoyée Renvoie le DateTime64 analysé à partir de la chaîne d’entrée, ou un DateTime64 zéro si l’analyse échoue. DateTime64 Exemples Exemple d’utilisation
Query
SELECT parseDateTime64InJodaSyntaxOrZero('2025-01-04 23:00:00.123', 'yyyy-MM-dd HH:mm:ss.SSS')
Response
┌─parseDateTime64InJodaSyntaxOrZero('2025-01-04 23:00:00.123', 'yyyy-MM-dd HH:mm:ss.SSS')─┐
│                                                              2025-01-04 23:00:00.123     │
└──────────────────────────────────────────────────────────────────────────────────────────┘

parseDateTime64OrNull

Introduit dans : v24.11.0 Identique à parseDateTime64, mais renvoie NULL lorsqu’elle rencontre un format de date non analysable. Syntaxe
parseDateTime64OrNull(time_string, format[, timezone])
Arguments
  • time_string — Chaîne à analyser en DateTime64. String
  • format — Chaîne de format indiquant comment analyser time_string. String
  • timezone — Facultatif. Fuseau horaire. String
Valeur renvoyée Renvoie la valeur DateTime64 obtenue à partir de la chaîne d’entrée, ou NULL si l’analyse échoue. Nullable(DateTime64) Exemples Exemple d’utilisation
Query
SELECT parseDateTime64OrNull('2025-01-04 23:00:00.123', '%Y-%m-%d %H:%i:%s.%f')
Response
┌─parseDateTime64OrNull('2025-01-04 23:00:00.123', '%Y-%m-%d %H:%i:%s.%f')─┐
│                                            2025-01-04 23:00:00.123        │
└───────────────────────────────────────────────────────────────────────────┘

parseDateTime64OrZero

Introduit dans : v24.11.0 Identique à parseDateTime64, mais renvoie une date zéro lorsqu’un format de date ne peut pas être analysé. Syntaxe
parseDateTime64OrZero(time_string, format[, timezone])
Arguments
  • time_string — Chaîne à convertir en DateTime64. String
  • format — Chaîne de format indiquant comment analyser time_string. String
  • timezone — Facultatif. Fuseau horaire. String
Valeur renvoyée Renvoie la valeur DateTime64 analysée à partir de la chaîne d’entrée, ou la valeur DateTime64 zéro si l’analyse échoue. DateTime64 Exemples Exemple d’utilisation
Query
SELECT parseDateTime64OrZero('2025-01-04 23:00:00.123', '%Y-%m-%d %H:%i:%s.%f')
Response
┌─parseDateTime64OrZero('2025-01-04 23:00:00.123', '%Y-%m-%d %H:%i:%s.%f')─┐
│                                             2025-01-04 23:00:00.123       │
└───────────────────────────────────────────────────────────────────────────┘

parseDateTimeBestEffort

Introduced in: v1.1.0 Convertit une date et une heure de leur représentation String vers le type de données DateTime. La fonction analyse les formats de date et d’heure ISO 8601, RFC 1123 - 5.2.14 RFC-822, le format de date et d’heure de ClickHouse, ainsi que certains autres formats. Formats non standard pris en charge :
  • Une chaîne contenant un timestamp Unix sur 9 à 10 chiffres.
  • Une chaîne contenant une composante de date et une composante d’heure : YYYYMMDDhhmmss, DD/MM/YYYY hh:mm:ss, DD-MM-YY hh:mm, YYYY-MM-DD hh:mm:ss, etc.
  • Une chaîne contenant une date, mais sans composante d’heure : YYYY, YYYYMM, YYYY*MM, DD/MM/YYYY, DD-MM-YY, etc.
  • Une chaîne contenant un jour et une heure : DD, DD hh, DD hh:mm. Dans ce cas, MM est remplacé par 01.
  • Une chaîne incluant la date et l’heure ainsi que des informations de décalage de fuseau horaire : YYYY-MM-DD hh:mm:ss ±h:mm, etc.
  • Un timestamp syslog : Mmm dd hh:mm:ss. Par exemple, Jun 9 14:20:32.
Pour tous les formats avec séparateur, la fonction analyse les noms de mois exprimés sous leur forme complète ou par les trois premières lettres du mois. Si l’année n’est pas indiquée, l’année en cours est utilisée. Syntax
parseDateTimeBestEffort(time_string[, time_zone])
Arguments
  • time_string — Chaîne contenant une date et une heure à convertir. String
  • time_zone — Facultatif. Fuseau horaire utilisé pour analyser time_string. String
Valeur renvoyée Renvoie time_string sous forme de DateTime. DateTime Exemples Exemple d’utilisation
Query
SELECT parseDateTimeBestEffort('23/10/2025 12:12:57') AS parseDateTimeBestEffort
Response
┌─parseDateTimeBestEffort─┐
│     2025-10-23 12:12:57 │
└─────────────────────────┘
Avec un fuseau horaire
Query
SELECT parseDateTimeBestEffort('Sat, 18 Aug 2025 07:22:16 GMT', 'Asia/Istanbul') AS parseDateTimeBestEffort
Response
┌─parseDateTimeBestEffort─┐
│     2025-08-18 10:22:16 │
└─────────────────────────┘
timestamp Unix
Query
SELECT parseDateTimeBestEffort('1735689600') AS parseDateTimeBestEffort
Response
┌─parseDateTimeBestEffort─┐
│     2025-01-01 00:00:00 │
└─────────────────────────┘

parseDateTimeBestEffortOrNull

Introduit dans : v1.1.0 Identique à parseDateTimeBestEffort, sauf qu’elle renvoie NULL lorsqu’elle rencontre un format de date impossible à traiter. La fonction analyse les formats ISO 8601, RFC 1123 - 5.2.14 RFC-822 Date and Time Specification, celui de ClickHouse, ainsi que certains autres formats de date et d’heure. Formats non standard pris en charge :
  • Une chaîne contenant un timestamp Unix de 9 à 10 chiffres.
  • Une chaîne avec une composante de date et une composante d’heure : YYYYMMDDhhmmss, DD/MM/YYYY hh:mm:ss, DD-MM-YY hh:mm, YYYY-MM-DD hh:mm:ss, etc.
  • Une chaîne avec une date, mais sans composante d’heure : YYYY, YYYYMM, YYYY*MM, DD/MM/YYYY, DD-MM-YY, etc.
  • Une chaîne contenant un jour et une heure : DD, DD hh, DD hh:mm. Dans ce cas, MM est remplacé par 01.
  • Une chaîne qui inclut la date et l’heure ainsi que des informations de décalage de fuseau horaire : YYYY-MM-DD hh:mm:ss ±h:mm, etc.
  • Un timestamp syslog : Mmm dd hh:mm:ss. Par exemple, Jun 9 14:20:32.
Pour tous les formats avec séparateur, la fonction analyse les noms de mois écrits soit en toutes lettres, soit avec les trois premières lettres du mois. Si l’année n’est pas spécifiée, elle est considérée comme étant l’année en cours. Syntaxe
parseDateTimeBestEffortOrNull(time_string[, time_zone])
Arguments
  • time_stringString contenant une date et une heure à convertir. String
  • time_zone — Facultatif. Fuseau horaire selon lequel time_string est interprétée. String
Valeur renvoyée Renvoie time_string sous forme de DateTime, ou NULL si l’entrée ne peut pas être interprétée. DateTime ou NULL Exemples Exemple d’utilisation
Query
SELECT parseDateTimeBestEffortOrNull('23/10/2025 12:12:57') AS valid,
       parseDateTimeBestEffortOrNull('invalid') AS invalid
Response
┌─valid───────────────┬─invalid─┐
│ 2025-10-23 12:12:57 │    ᴺᵁᴸᴸ │
└─────────────────────┴─────────┘

parseDateTimeBestEffortOrZero

Introduit dans : v1.1.0 Identique à parseDateTimeBestEffort, à ceci près qu’elle renvoie une date zéro ou une date-heure zéro lorsqu’elle rencontre un format de date qui ne peut pas être analysé. La fonction analyse ISO 8601, RFC 1123 - 5.2.14 RFC-822 Date and Time Specification, les formats de date et d’heure de ClickHouse, ainsi que certains autres formats. Formats non standard pris en charge :
  • Une chaîne contenant un Unix timestamp de 9 à 10 chiffres.
  • Une chaîne avec une composante de date et une composante d’heure : YYYYMMDDhhmmss, DD/MM/YYYY hh:mm:ss, DD-MM-YY hh:mm, YYYY-MM-DD hh:mm:ss, etc.
  • Une chaîne avec une date, mais sans composante d’heure : YYYY, YYYYMM, YYYY*MM, DD/MM/YYYY, DD-MM-YY etc.
  • Une chaîne avec un jour et une heure : DD, DD hh, DD hh:mm. Dans ce cas, MM est remplacé par 01.
  • Une chaîne qui inclut la date et l’heure, ainsi que des informations de décalage de fuseau horaire : YYYY-MM-DD hh:mm:ss ±h:mm, etc.
  • Un syslog timestamp : Mmm dd hh:mm:ss. Par exemple, Jun 9 14:20:32.
Pour tous les formats avec séparateur, la fonction analyse les noms de mois exprimés sous leur forme complète ou par les trois premières lettres du mois. Si l’année n’est pas spécifiée, elle est considérée comme étant l’année en cours. Syntaxe
parseDateTimeBestEffortOrZero(time_string[, time_zone])
Arguments
  • time_stringString contenant une date et une heure à convertir. String
  • time_zone — Facultatif. Fuseau horaire utilisé pour interpréter time_string. String
Valeur renvoyée Renvoie time_string sous forme de DateTime, ou la date/date-heure zéro (1970-01-01 ou 1970-01-01 00:00:00) si l’entrée ne peut pas être interprétée. DateTime Exemples Exemple d’utilisation
Query
SELECT parseDateTimeBestEffortOrZero('23/10/2025 12:12:57') AS valid,
       parseDateTimeBestEffortOrZero('invalid') AS invalid
Response
┌─valid───────────────┬─invalid─────────────┐
│ 2025-10-23 12:12:57 │ 1970-01-01 00:00:00 │
└─────────────────────┴─────────────────────┘

parseDateTimeBestEffortUS

Introduite dans : v1.1.0 Cette fonction se comporte comme parseDateTimeBestEffort pour les formats de date ISO, par ex. YYYY-MM-DD hh:mm:ss, ainsi que pour d’autres formats de date dont les composants mois et jour peuvent être extraits sans ambiguïté, par ex. YYYYMMDDhhmmss, YYYY-MM, DD hh ou YYYY-MM-DD hh:mm:ss ±h:mm. Si les composants mois et jour ne peuvent pas être extraits sans ambiguïté, par ex. MM/DD/YYYY, MM-DD-YYYY ou MM-DD-YY, elle privilégie le format de date US plutôt que DD/MM/YYYY, DD-MM-YYYY ou DD-MM-YY. Exception à ce qui précède : si le mois est supérieur à 12 et inférieur ou égal à 31, cette fonction revient au comportement de parseDateTimeBestEffort ; par ex. 15/08/2020 est interprété comme 2020-08-15. Syntaxe
parseDateTimeBestEffortUS(time_string[, time_zone])
Arguments
  • time_stringString contenant une date et une heure à convertir. String
  • time_zone — Facultatif. Fuseau horaire selon lequel time_string est interprétée. String
Valeur renvoyée Renvoie time_string sous forme de DateTime, en privilégiant le format de date américain dans les cas ambigus. DateTime Exemples Exemple d’utilisation
Query
SELECT parseDateTimeBestEffortUS('02/10/2025') AS us_format,
       parseDateTimeBestEffortUS('15/08/2025') AS fallback_to_standard
Response
┌─us_format───────────┬─fallback_to_standard─┐
│ 2025-02-10 00:00:00 │  2025-08-15 00:00:00 │
└─────────────────────┴──────────────────────┘

parseDateTimeBestEffortUSOrNull

Introduite dans : v1.1.0 Identique à la fonction parseDateTimeBestEffortUS, sauf qu’elle renvoie NULL lorsqu’elle rencontre un format de date qui ne peut pas être traité. Cette fonction se comporte comme parseDateTimeBestEffort pour les formats de date ISO, mais privilégie le format de date américain dans les cas ambigus, et renvoie NULL en cas d’erreur d’analyse. Syntaxe
parseDateTimeBestEffortUSOrNull(time_string[, time_zone])
Arguments
  • time_string — Chaîne contenant une date et une heure à convertir. String
  • time_zone — Facultatif. Fuseau horaire selon lequel time_string est analysé. String
Valeur renvoyée Renvoie time_string sous forme de DateTime en privilégiant le format américain, ou NULL si l’entrée ne peut pas être analysée. DateTime ou NULL Exemples Exemple d’utilisation
Query
SELECT parseDateTimeBestEffortUSOrNull('02/10/2025') AS valid_us,
       parseDateTimeBestEffortUSOrNull('invalid') AS invalid
Response
┌─valid_us────────────┬─invalid─┐
│ 2025-02-10 00:00:00 │    ᴺᵁᴸᴸ │
└─────────────────────┴─────────┘

parseDateTimeBestEffortUSOrZero

Introduit dans : v1.1.0 Identique à la fonction parseDateTimeBestEffortUS, sauf qu’elle renvoie la date zéro (1970-01-01) ou la date zéro avec heure (1970-01-01 00:00:00) lorsqu’elle rencontre un format de date qui ne peut pas être analysé. Cette fonction se comporte comme parseDateTimeBestEffort pour les formats de date ISO, mais privilégie le format de date américain dans les cas ambigus, et renvoie zéro en cas d’erreur d’analyse. Syntaxe
parseDateTimeBestEffortUSOrZero(time_string[, time_zone])
Arguments
  • time_stringString contenant une date et une heure à convertir. String
  • time_zone — Facultatif. Fuseau horaire selon lequel time_string est analysé. String
Valeur renvoyée Renvoie time_string sous forme de DateTime, avec priorité au format US, ou une date/DateTime zéro (1970-01-01 ou 1970-01-01 00:00:00) si l’entrée ne peut pas être analysée. DateTime Exemples Exemple d’utilisation
Query
SELECT parseDateTimeBestEffortUSOrZero('02/10/2025') AS valid_us,
       parseDateTimeBestEffortUSOrZero('invalid') AS invalid
Response
┌─valid_us────────────┬─invalid─────────────┐
│ 2025-02-10 00:00:00 │ 1970-01-01 00:00:00 │
└─────────────────────┴─────────────────────┘

parseDateTimeInJodaSyntax

Introduit dans : v23.3.0 Analyse une chaîne de date et d’heure selon une chaîne de format de date Joda. Cette fonction est l’inverse de formatDateTimeInJodaSyntax. Elle analyse un argument String à l’aide d’une chaîne de format String de style Joda. Elle renvoie un type DateTime. Consultez la documentation Joda Time pour les modèles de format. Syntaxe
parseDateTimeInJodaSyntax(time_string, format[, timezone])
Arguments
  • time_string — Chaîne à convertir en DateTime. String
  • format — Chaîne de format en syntaxe Joda indiquant comment interpréter time_string. String
  • timezone — Facultatif. Fuseau horaire. String
Valeur renvoyée Renvoie un DateTime obtenu à partir de la chaîne d’entrée selon la chaîne de format au style Joda. DateTime Exemples Exemple d’utilisation
Query
SELECT parseDateTimeInJodaSyntax('2025-01-04 23:00:00', 'yyyy-MM-dd HH:mm:ss')
Response
┌─parseDateTimeInJodaSyntax('2025-01-04 23:00:00', 'yyyy-MM-dd HH:mm:ss')─┐
│                                                      2025-01-04 23:00:00 │
└──────────────────────────────────────────────────────────────────────────┘

parseDateTimeInJodaSyntaxOrNull

Introduit dans : v23.3.0 Identique à parseDateTimeInJodaSyntax, mais renvoie NULL en présence d’un format de date impossible à analyser. Syntaxe
parseDateTimeInJodaSyntaxOrNull(time_string, format[, timezone])
Arguments
  • time_string — Chaîne à analyser pour obtenir un DateTime. String
  • format — Chaîne de format en syntaxe Joda indiquant comment analyser time_string. String
  • timezone — Facultatif. Fuseau horaire. String
Valeur renvoyée Renvoie la valeur DateTime obtenue à partir de la chaîne d’entrée, ou NULL si l’analyse échoue. Nullable(DateTime) Exemples Exemple d’utilisation
Query
SELECT parseDateTimeInJodaSyntaxOrNull('2025-01-04 23:00:00', 'yyyy-MM-dd HH:mm:ss')
Response
┌─parseDateTimeInJodaSyntaxOrNull('2025-01-04 23:00:00', 'yyyy-MM-dd HH:mm:ss')─┐
│                                                         2025-01-04 23:00:00    │
└────────────────────────────────────────────────────────────────────────────────┘

parseDateTimeInJodaSyntaxOrZero

Introduit dans : v23.3.0 Identique à parseDateTimeInJodaSyntax, mais renvoie une date zéro en cas de format de date impossible à analyser. Syntaxe
parseDateTimeInJodaSyntaxOrZero(time_string, format[, timezone])
Arguments
  • time_string — Chaîne à analyser pour obtenir un DateTime. String
  • format — Chaîne de format en syntaxe Joda indiquant comment analyser time_string. String
  • timezone — Optionnel. Fuseau horaire. String
Valeur renvoyée Renvoie le DateTime obtenu à partir de la chaîne d’entrée, ou le DateTime zéro si l’analyse échoue. DateTime Exemples Exemple d’utilisation
Query
SELECT parseDateTimeInJodaSyntaxOrZero('2025-01-04 23:00:00', 'yyyy-MM-dd HH:mm:ss')
Response
┌─parseDateTimeInJodaSyntaxOrZero('2025-01-04 23:00:00', 'yyyy-MM-dd HH:mm:ss')─┐
│                                                          2025-01-04 23:00:00   │
└────────────────────────────────────────────────────────────────────────────────┘

parseDateTimeOrNull

Introduit dans : v23.3.0 Identique à parseDateTime, mais renvoie NULL lorsqu’il rencontre un format de date non analysable. Syntaxe
parseDateTimeOrNull(time_string, format[, timezone])
Alias : str_to_date Arguments
  • time_string — Chaîne à analyser pour la convertir en DateTime. String
  • format — Chaîne de format indiquant comment analyser time_string. String
  • timezone — Facultatif. Fuseau horaire. String
Valeur renvoyée Renvoie le DateTime obtenu à partir de la chaîne d’entrée, ou NULL si l’analyse échoue. Nullable(DateTime) Exemples Exemple d’utilisation
Query
SELECT parseDateTimeOrNull('2025-01-04+23:00:00', '%Y-%m-%d+%H:%i:%s')
Response
┌─parseDateTimeOrNull('2025-01-04+23:00:00', '%Y-%m-%d+%H:%i:%s')─┐
│                                            2025-01-04 23:00:00  │
└─────────────────────────────────────────────────────────────────┘

parseDateTimeOrZero

Introduit dans : v23.3.0 Identique à parseDateTime, mais renvoie une date zéro lorsqu’un format de date ne peut pas être analysé. Syntaxe
parseDateTimeOrZero(time_string, format[, timezone])
Arguments
  • time_string — Chaîne à convertir en DateTime. String
  • format — Chaîne de format indiquant comment analyser time_string. String
  • timezone — Facultatif. Fuseau horaire. String
Valeur renvoyée Renvoie le DateTime obtenu à partir de la chaîne d’entrée, ou le DateTime zéro si l’analyse échoue. DateTime Exemples Exemple d’utilisation
Query
SELECT parseDateTimeOrZero('2025-01-04+23:00:00', '%Y-%m-%d+%H:%i:%s')
Response
┌─parseDateTimeOrZero('2025-01-04+23:00:00', '%Y-%m-%d+%H:%i:%s')─┐
│                                             2025-01-04 23:00:00 │
└─────────────────────────────────────────────────────────────────┘

reinterpret

Introduit dans : v1.1.0 Utilise la même séquence d’octets source en mémoire pour la valeur x fournie et la réinterprète dans le type de destination. Syntaxe
reinterpret(x, type)
Arguments
  • x — N’importe quel type. Any
  • type — Type de destination. S’il s’agit d’un tableau, le type des éléments du tableau doit être de longueur fixe. String
Valeur renvoyée Valeur du type de destination. Any Exemples Exemple d’utilisation
Query
SELECT reinterpret(toInt8(-1), 'UInt8') AS int_to_uint,
    reinterpret(toInt8(1), 'Float32') AS int_to_float,
    reinterpret('1', 'UInt32') AS string_to_int
Response
┌─int_to_uint─┬─int_to_float─┬─string_to_int─┐
│         255 │        1e-45 │            49 │
└─────────────┴──────────────┴───────────────┘
Exemple de type Array
Query
SELECT reinterpret(x'3108b4403108d4403108b4403108d440', 'Array(Float32)') AS string_to_array_of_Float32
Response
┌─string_to_array_of_Float32─┐
│ [5.626,6.626,5.626,6.626]  │
└────────────────────────────┘

reinterpretAsDate

Introduit dans : v1.1.0 Réinterprète la valeur d’entrée comme une valeur de type Date (en supposant l’ordre little endian), correspondant au nombre de jours écoulés depuis le début de l’époque Unix, le 1970-01-01 Syntaxe
reinterpretAsDate(x)
Arguments Valeur renvoyée Date. Date Exemples Exemple d’utilisation
Query
SELECT reinterpretAsDate(65), reinterpretAsDate('A')
Response
┌─reinterpretAsDate(65)─┬─reinterpretAsDate('A')─┐
│            1970-03-07 │             1970-03-07 │
└───────────────────────┴────────────────────────┘

reinterpretAsDateTime

Introduit dans : v1.1.0 Réinterprète la valeur d’entrée comme une valeur DateTime (en supposant l’ordre little endian), c’est-à-dire comme le nombre de jours écoulés depuis le début de l’époque Unix, le 1970-01-01 Syntaxe
reinterpretAsDateTime(x)
Arguments Valeur renvoyée Date et heure. DateTime Exemples Exemple d’utilisation
Query
SELECT reinterpretAsDateTime(65), reinterpretAsDateTime('A')
Response
┌─reinterpretAsDateTime(65)─┬─reinterpretAsDateTime('A')─┐
│       1970-01-01 01:01:05 │        1970-01-01 01:01:05 │
└───────────────────────────┴────────────────────────────┘

reinterpretAsFixedString

Introduit dans : v1.1.0 Réinterprète la valeur d’entrée comme une chaîne de longueur fixe (en supposant l’ordre little endian). Les octets nuls en fin de chaîne sont ignorés. Par exemple, pour la valeur UInt32 255, la fonction renvoie une chaîne contenant un seul caractère. Syntaxe
reinterpretAsFixedString(x)
Arguments Valeur renvoyée Chaîne de longueur fixe contenant les octets représentant x. FixedString Exemples Exemple d’utilisation
Query
SELECT
    reinterpretAsFixedString(toDateTime('1970-01-01 01:01:05')),
    reinterpretAsFixedString(toDate('1970-03-07'))
Response
┌─reinterpretAsFixedString(toDateTime('1970-01-01 01:01:05'))─┬─reinterpretAsFixedString(toDate('1970-03-07'))─┐
│ A                                                           │ A                                              │
└─────────────────────────────────────────────────────────────┴────────────────────────────────────────────────┘

reinterpretAsFloat32

Introduit dans : v1.1.0 Réinterprète la valeur d’entrée comme une valeur de type Float32. Contrairement à CAST, la fonction ne cherche pas à préserver la valeur d’origine : si le type cible ne peut pas représenter le type d’entrée, la valeur de sortie est indéfinie. Syntaxe
reinterpretAsFloat32(x)
Arguments Valeur renvoyée Renvoie la valeur x réinterprétée. Float32 Exemples Exemple d’utilisation
Query
SELECT reinterpretAsUInt32(toFloat32(0.2)) AS x, reinterpretAsFloat32(x)
Response
┌──────────x─┬─reinterpretAsFloat32(x)─┐
│ 1045220557 │                     0.2 │
└────────────┴─────────────────────────┘

reinterpretAsFloat64

Introduit dans : v1.1.0 Réinterprète la valeur d’entrée comme une valeur de type Float64. Contrairement à CAST, la fonction ne cherche pas à préserver la valeur d’origine : si le type cible ne peut pas représenter le type d’entrée, le résultat est indéfini. Syntaxe
reinterpretAsFloat64(x)
Arguments Valeur renvoyée Renvoie la valeur x réinterprétée. Float64 Exemples Exemple d’utilisation
Query
SELECT reinterpretAsUInt64(toFloat64(0.2)) AS x, reinterpretAsFloat64(x)
Response
┌───────────────────x─┬─reinterpretAsFloat64(x)─┐
│ 4596373779694328218 │                     0.2 │
└─────────────────────┴─────────────────────────┘

reinterpretAsInt128

Introduit dans : v1.1.0 Réinterprète la valeur d’entrée comme une valeur de type Int128. Contrairement à CAST, la fonction ne cherche pas à préserver la valeur d’origine : si le type cible ne peut pas représenter le type d’entrée, la sortie est indéfinie. Syntaxe
reinterpretAsInt128(x)
Arguments Valeur renvoyée Renvoie la valeur x réinterprétée. Int128 Exemples Exemple d’utilisation
Query
SELECT
    toInt64(257) AS x,
    toTypeName(x),
    reinterpretAsInt128(x) AS res,
    toTypeName(res)
Response
┌───x─┬─toTypeName(x)─┬─res─┬─toTypeName(res)─┐
│ 257 │ Int64         │ 257 │ Int128          │
└─────┴───────────────┴─────┴─────────────────┘

reinterpretAsInt16

Introduit dans : v1.1.0 Réinterprète la valeur d’entrée comme une valeur de type Int16. Contrairement à CAST, la fonction ne cherche pas à préserver la valeur d’origine : si le type cible ne peut pas représenter le type d’entrée, la valeur de sortie est indéfinie. Syntaxe
reinterpretAsInt16(x)
Arguments Valeur renvoyée Renvoie la valeur x réinterprétée. Int16 Exemples Exemple d’utilisation
Query
SELECT
    toInt8(257) AS x,
    toTypeName(x),
    reinterpretAsInt16(x) AS res,
    toTypeName(res)
Response
┌─x─┬─toTypeName(x)─┬─res─┬─toTypeName(res)─┐
│ 1 │ Int8          │   1 │ Int16           │
└───┴───────────────┴─────┴─────────────────┘

reinterpretAsInt256

Introduit dans : v1.1.0 Réinterprète la valeur d’entrée comme une valeur de type Int256. Contrairement à CAST, la fonction ne cherche pas à préserver la valeur d’origine ; si le type cible ne peut pas représenter le type d’entrée, le résultat est indéfini. Syntaxe
reinterpretAsInt256(x)
Arguments Valeur renvoyée Renvoie la valeur x réinterprétée. Int256 Exemples Exemple d’utilisation
Query
SELECT
    toInt128(257) AS x,
    toTypeName(x),
    reinterpretAsInt256(x) AS res,
    toTypeName(res)
Response
┌───x─┬─toTypeName(x)─┬─res─┬─toTypeName(res)─┐
│ 257 │ Int128        │ 257 │ Int256          │
└─────┴───────────────┴─────┴─────────────────┘

reinterpretAsInt32

Introduit dans : v1.1.0 Réinterprète la valeur d’entrée comme une valeur de type Int32. Contrairement à CAST, la fonction ne cherche pas à préserver la valeur d’origine ; si le type cible ne peut pas représenter le type d’entrée, le résultat est indéfini. Syntaxe
reinterpretAsInt32(x)
Arguments Valeur renvoyée Renvoie la valeur réinterprétée x. Int32 Exemples Exemple d’utilisation
Query
SELECT
    toInt16(257) AS x,
    toTypeName(x),
    reinterpretAsInt32(x) AS res,
    toTypeName(res)
Response
┌───x─┬─toTypeName(x)─┬─res─┬─toTypeName(res)─┐
│ 257 │ Int16         │ 257 │ Int32           │
└─────┴───────────────┴─────┴─────────────────┘

reinterpretAsInt64

Introduite dans : v1.1.0 Réinterprète la valeur d’entrée comme une valeur de type Int64. Contrairement à CAST, cette fonction ne cherche pas à préserver la valeur d’origine : si le type cible n’est pas capable de représenter le type d’entrée, la valeur de sortie est indéfinie. Syntaxe
reinterpretAsInt64(x)
Arguments Valeur renvoyée Renvoie la valeur x réinterprétée. Int64 Exemples Exemple d’utilisation
Query
SELECT
    toInt32(257) AS x,
    toTypeName(x),
    reinterpretAsInt64(x) AS res,
    toTypeName(res)
Response
┌───x─┬─toTypeName(x)─┬─res─┬─toTypeName(res)─┐
│ 257 │ Int32         │ 257 │ Int64           │
└─────┴───────────────┴─────┴─────────────────┘

reinterpretAsInt8

Introduit dans : v1.1.0 Réinterprète la valeur d’entrée comme une valeur de type Int8. Contrairement à CAST, la fonction ne cherche pas à préserver la valeur d’origine : si le type cible ne peut pas représenter le type d’entrée, la sortie est indéfinie. Syntaxe
reinterpretAsInt8(x)
Arguments Valeur renvoyée Renvoie la valeur réinterprétée x. Int8 Exemples Exemple d’utilisation
Query
SELECT
    toUInt8(257) AS x,
    toTypeName(x),
    reinterpretAsInt8(x) AS res,
    toTypeName(res)
Response
┌─x─┬─toTypeName(x)─┬─res─┬─toTypeName(res)─┐
│ 1 │ UInt8         │   1 │ Int8            │
└───┴───────────────┴─────┴─────────────────┘

reinterpretAsString

Introduit dans : v1.1.0 Réinterprète la valeur d’entrée comme une chaîne de caractères (en supposant l’ordre little endian). Les octets nuls en fin de chaîne sont ignorés. Par exemple, pour la valeur UInt32 255, la fonction renvoie une chaîne ne contenant qu’un seul caractère. Syntaxe
reinterpretAsString(x)
Arguments Valeur renvoyée Chaîne contenant les octets représentant x. String Exemples Exemple d’utilisation
Query
SELECT
    reinterpretAsString(toDateTime('1970-01-01 01:01:05')),
    reinterpretAsString(toDate('1970-03-07'))
Response
┌─reinterpretAsString(toDateTime('1970-01-01 01:01:05'))─┬─reinterpretAsString(toDate('1970-03-07'))─┐
│ A                                                      │ A                                         │
└────────────────────────────────────────────────────────┴───────────────────────────────────────────┘

reinterpretAsUInt128

Introduit dans : v1.1.0 Réinterprète la valeur d’entrée comme une valeur de type UInt128. Contrairement à CAST, la fonction ne cherche pas à préserver la valeur d’origine : si le type cible n’est pas capable de représenter le type d’entrée, la valeur de sortie est indéfinie. Syntaxe
reinterpretAsUInt128(x)
Arguments Valeur renvoyée Renvoie la valeur x réinterprétée. UInt128 Exemples Exemple d’utilisation
Query
SELECT
    toUInt64(257) AS x,
    toTypeName(x),
    reinterpretAsUInt128(x) AS res,
    toTypeName(res)
Response
┌───x─┬─toTypeName(x)─┬─res─┬─toTypeName(res)─┐
│ 257 │ UInt64        │ 257 │ UInt128         │
└─────┴───────────────┴─────┴─────────────────┘

reinterpretAsUInt16

Introduit dans : v1.1.0 Réinterprète la valeur d’entrée comme une valeur de type UInt16. Contrairement à CAST, la fonction ne tente pas de préserver la valeur d’origine : si le type cible ne peut pas représenter le type d’entrée, le résultat est indéfini. Syntaxe
reinterpretAsUInt16(x)
Arguments Valeur renvoyée Renvoie la valeur x réinterprétée. UInt16 Exemples Exemple d’utilisation
Query
SELECT
    toUInt8(257) AS x,
    toTypeName(x),
    reinterpretAsUInt16(x) AS res,
    toTypeName(res)
Response
┌─x─┬─toTypeName(x)─┬─res─┬─toTypeName(res)─┐
│ 1 │ UInt8         │   1 │ UInt16          │
└───┴───────────────┴─────┴─────────────────┘

reinterpretAsUInt256

Introduit dans : v1.1.0 Réinterprète la valeur d’entrée comme une valeur de type UInt256. Contrairement à CAST, la fonction ne cherche pas à préserver la valeur d’origine : si le type cible ne peut pas représenter le type d’entrée, le résultat est indéfini. Syntaxe
reinterpretAsUInt256(x)
Arguments Valeur renvoyée Renvoie la valeur x réinterprétée. UInt256 Exemples Exemple d’utilisation
Query
SELECT
    toUInt128(257) AS x,
    toTypeName(x),
    reinterpretAsUInt256(x) AS res,
    toTypeName(res)
Response
┌───x─┬─toTypeName(x)─┬─res─┬─toTypeName(res)─┐
│ 257 │ UInt128       │ 257 │ UInt256         │
└─────┴───────────────┴─────┴─────────────────┘

reinterpretAsUInt32

Introduit dans : v1.1.0 Réinterprète la valeur d’entrée comme une valeur de type UInt32. Contrairement à CAST, la fonction ne cherche pas à préserver la valeur d’origine : si le type cible ne peut pas représenter le type d’entrée, la sortie est indéfinie. Syntaxe
reinterpretAsUInt32(x)
Arguments Valeur renvoyée Renvoie la valeur x réinterprétée. UInt32 Exemples Exemple d’utilisation
Query
SELECT
    toUInt16(257) AS x,
    toTypeName(x),
    reinterpretAsUInt32(x) AS res,
    toTypeName(res)
Response
┌───x─┬─toTypeName(x)─┬─res─┬─toTypeName(res)─┐
│ 257 │ UInt16        │ 257 │ UInt32          │
└─────┴───────────────┴─────┴─────────────────┘

reinterpretAsUInt64

Introduit dans : v1.1.0 Réinterprète la valeur d’entrée comme une valeur de type UInt64. Contrairement à CAST, la fonction ne cherche pas à préserver la valeur d’origine : si le type cible ne peut pas représenter le type d’entrée, la sortie est indéfinie. Syntaxe
reinterpretAsUInt64(x)
Arguments Valeur renvoyée Renvoie la valeur de x réinterprétée. UInt64 Exemples Exemple d’utilisation
Query
SELECT
    toUInt32(257) AS x,
    toTypeName(x),
    reinterpretAsUInt64(x) AS res,
    toTypeName(res)
Response
┌───x─┬─toTypeName(x)─┬─res─┬─toTypeName(res)─┐
│ 257 │ UInt32        │ 257 │ UInt64          │
└─────┴───────────────┴─────┴─────────────────┘

reinterpretAsUInt8

Introduite dans : v1.1.0 Réinterprète la valeur d’entrée en valeur de type UInt8. Contrairement à CAST, la fonction ne cherche pas à préserver la valeur d’origine : si le type cible ne peut pas représenter le type d’entrée, la valeur de sortie est indéfinie. Syntaxe
reinterpretAsUInt8(x)
Arguments Valeur renvoyée Renvoie la valeur x réinterprétée. UInt8 Exemples Exemple d’utilisation
Query
SELECT
    toInt8(-1) AS val,
    toTypeName(val),
    reinterpretAsUInt8(val) AS res,
    toTypeName(res);
Response
┌─val─┬─toTypeName(val)─┬─res─┬─toTypeName(res)─┐
│  -1 │ Int8            │ 255 │ UInt8           │
└─────┴─────────────────┴─────┴─────────────────┘

reinterpretAsUUID

Introduit dans : v1.1.0 Accepte une chaîne de 16 octets et renvoie un UUID en interprétant chaque moitié de 8 octets selon l’ordre des octets little-endian. Si la chaîne n’est pas assez longue, la fonction se comporte comme si elle était complétée à la fin par le nombre nécessaire d’octets nuls. Si la chaîne dépasse 16 octets, les octets supplémentaires à la fin sont ignorés. Syntaxe
reinterpretAsUUID(fixed_string)
Arguments
  • fixed_string — Chaîne d’octets au format big-endian. FixedString
Valeur renvoyée Valeur de type UUID. UUID Exemples Chaîne en UUID
Query
SELECT reinterpretAsUUID(reverse(unhex('000102030405060708090a0b0c0d0e0f')))
Response
┌─reinterpretAsUUID(reverse(unhex('000102030405060708090a0b0c0d0e0f')))─┐
│                                  08090a0b-0c0d-0e0f-0001-020304050607 │
└───────────────────────────────────────────────────────────────────────┘

toBFloat16

Introduit dans : v1.1.0 Convertit une valeur d’entrée en une valeur de type BFloat16. Lève une exception en cas d’erreur. Voir aussi : Syntaxe
toBFloat16(expr)
Arguments
  • expr — Expression qui renvoie un nombre ou sa représentation sous forme de chaîne. Expression
Valeur renvoyée Renvoie une valeur brain-float de 16 bits. BFloat16 Exemples Exemple d’utilisation
Query
SELECT
toBFloat16(toFloat32(42.7)),
toBFloat16(toFloat32('42.7')),
toBFloat16('42.7')
FORMAT Vertical;
Response
toBFloat16(toFloat32(42.7)): 42.5
toBFloat16(t⋯32('42.7')):    42.5
toBFloat16('42.7'):          42.5

toBFloat16OrNull

Introduite dans : v1.1.0 Convertit une valeur d’entrée de type String en une valeur de type BFloat16. Si la chaîne ne représente pas une valeur à virgule flottante, la fonction renvoie NULL. Arguments pris en charge :
  • Représentations sous forme de chaîne de valeurs numériques.
Arguments non pris en charge (renvoient NULL) :
  • Représentations sous forme de chaîne de valeurs binaires et hexadécimales.
  • Valeurs numériques.
La fonction autorise une perte de précision silencieuse lors de la conversion depuis la représentation sous forme de chaîne.
Voir aussi : Syntaxe
toBFloat16OrNull(x)
Arguments
  • x — Représentation sous forme de chaîne d’un nombre. String
Valeur renvoyée Renvoie une valeur brain-float de 16 bits, sinon NULL. BFloat16 ou NULL Exemples Exemple d’utilisation
Query
SELECT toBFloat16OrNull('0x5E'), -- unsupported arguments
       toBFloat16OrNull('12.3'), -- typical use
       toBFloat16OrNull('12.3456789') -- silent loss of precision
Response
\N
12.25
12.3125

toBFloat16OrZero

Introduit dans : v1.1.0 Convertit une valeur d’entrée de type String en une valeur de type BFloat16. Si la chaîne ne représente pas une valeur en virgule flottante, la fonction renvoie zéro. Arguments pris en charge :
  • Représentations String de valeurs numériques.
Arguments non pris en charge (renvoient 0) :
  • Représentations String de valeurs binaires et hexadécimales.
  • Valeurs numériques.
La fonction autorise une perte de précision silencieuse lors de la conversion depuis une représentation String.
Voir aussi : Syntaxe
toBFloat16OrZero(x)
Arguments
  • x — Représentation sous forme de chaîne d’un nombre. String
Valeur renvoyée Renvoie une valeur brain-float sur 16 bits, sinon 0. BFloat16 Exemples Exemple d’utilisation
Query
SELECT toBFloat16OrZero('0x5E'), -- unsupported arguments
       toBFloat16OrZero('12.3'), -- typical use
       toBFloat16OrZero('12.3456789') -- silent loss of precision
Response
0
12.25
12.3125

toBool

Introduit dans : v22.2.0 Convertit une valeur d’entrée en valeur de type Bool. Syntaxe
toBool(expr)
Arguments
  • expr — Expression renvoyant un nombre ou une chaîne de caractères. Pour les chaînes de caractères, accepte ‘true’ ou ‘false’ (insensible à la casse). (U)Int* ou Float* ou String ou Expression
Valeur renvoyée Renvoie true ou false en fonction de l’évaluation de l’argument. Bool Exemples Exemple d’utilisation
Query
SELECT
    toBool(toUInt8(1)),
    toBool(toInt8(-1)),
    toBool(toFloat32(1.01)),
    toBool('true'),
    toBool('false'),
    toBool('FALSE')
FORMAT Vertical
Response
toBool(toUInt8(1)):      true
toBool(toInt8(-1)):      true
toBool(toFloat32(1.01)): true
toBool('true'):          true
toBool('false'):         false
toBool('FALSE'):         false

toDate

Introduit dans : v1.1.0 Convertit une valeur d’entrée au type Date. Prend en charge la conversion à partir de String, FixedString, DateTime ou de types numériques. Syntaxe
toDate(x)
Arguments Valeur renvoyée Renvoie la valeur d’entrée convertie. Date Exemples Conversion de String en Date
Query
SELECT toDate('2025-04-15')
Response
2025-04-15
Conversion de DateTime en Date
Query
SELECT toDate(toDateTime('2025-04-15 10:30:00'))
Response
2025-04-15
Conversion d’un entier en Date
Query
SELECT toDate(20297)
Response
2025-07-28

toDate32

Introduit dans : v21.9.0 Convertit l’argument en type de données Date32. Si la valeur est hors de la plage, toDate32 renvoie les valeurs limites prises en charge par Date32. Si l’argument est de type Date, ses limites sont prises en compte. Syntaxe
toDate32(expr)
Arguments Valeur renvoyée Renvoie une date calendaire. Date32 Exemples Dans la plage
Query
SELECT toDate32('2025-01-01') AS value, toTypeName(value)
FORMAT Vertical
Response
Row 1:
──────
value:           2025-01-01
toTypeName(value): Date32
Hors limites
Query
SELECT toDate32('1899-01-01') AS value, toTypeName(value)
FORMAT Vertical
Response
Row 1:
──────
value:           1900-01-01
toTypeName(value): Date32

toDate32OrDefault

Introduite dans : v21.11.0 Convertit l’argument en type de données Date32. Si la valeur est hors plage, toDate32OrDefault renvoie la valeur de borne inférieure prise en charge par Date32. Si l’argument est de type Date, ses bornes sont prises en compte. Renvoie la valeur par défaut si un argument invalide est fourni. Syntaxe
toDate32OrDefault(expr[, default])
Arguments
  • expr — Expression qui renvoie un nombre ou la représentation textuelle d’un nombre. String ou (U)Int* ou Float*
  • default — Facultatif. Valeur par défaut à renvoyer si l’analyse échoue. Date32
Valeur renvoyée Une valeur de type Date32 en cas de succès ; sinon, renvoie la valeur par défaut si elle est fournie, ou 1900-01-01 dans le cas contraire. Date32 Exemples Conversion réussie
Query
SELECT toDate32OrDefault('1930-01-01', toDate32('2020-01-01'))
Response
1930-01-01
Échec de la conversion
Query
SELECT toDate32OrDefault('xx1930-01-01', toDate32('2020-01-01'))
Response
2020-01-01

toDate32OrNull

Introduit dans : v21.9.0 Convertit une valeur d’entrée en une valeur de type Date32, mais renvoie NULL si un argument invalide est fourni. Identique à toDate32, mais renvoie NULL si un argument invalide est fourni. Syntaxe
toDate32OrNull(x)
Arguments
  • x — Une représentation sous forme de chaîne d’une date. String
Valeur renvoyée Renvoie une valeur Date32 en cas de succès, sinon NULL. Date32 ou NULL Exemples Exemple d’utilisation
Query
SELECT toDate32OrNull('2025-01-01'), toDate32OrNull('invalid')
Response
┌─toDate32OrNull('2025-01-01')─┬─toDate32OrNull('invalid')─┐
│                   2025-01-01 │                      ᴺᵁᴸᴸ │
└──────────────────────────────┴───────────────────────────┘

toDate32OrZero

Introduit dans : v21.9.0 Convertit une valeur d’entrée en une valeur de type Date32, mais renvoie la borne inférieure de Date32 si l’argument n’est pas valide. Identique à toDate32, mais renvoie la borne inférieure de Date32 si l’argument n’est pas valide. Voir aussi : Syntaxe
toDate32OrZero(x)
Arguments
  • x — Une représentation textuelle d’une date. String
Valeur renvoyée Renvoie une valeur Date32 en cas de réussite ; sinon, la borne inférieure de Date32 (1900-01-01). Date32 Exemples Exemple d’utilisation
Query
SELECT toDate32OrZero('2025-01-01'), toDate32OrZero('')
Response
┌─toDate32OrZero('2025-01-01')─┬─toDate32OrZero('')─┐
│                   2025-01-01 │         1900-01-01 │
└──────────────────────────────┴────────────────────┘

toDateOrDefault

Introduit dans : v21.11.0 Comme toDate, mais en cas d’échec, renvoie une valeur par défaut : le deuxième argument (s’il est spécifié) ou, à défaut, la borne inférieure de Date. Syntaxe
toDateOrDefault(expr[, default])
Arguments
  • expr — Expression renvoyant un nombre ou une représentation textuelle d’un nombre. String ou (U)Int* ou Float*
  • default — Facultatif. Valeur par défaut à renvoyer si l’analyse échoue. Date
Valeur renvoyée Une valeur de type Date en cas de réussite ; sinon, renvoie la valeur par défaut si elle est fournie, ou 1970-01-01 dans le cas contraire. Date Exemples Conversion réussie
Query
SELECT toDateOrDefault('2022-12-30')
Response
2022-12-30
Échec de la conversion
Query
SELECT toDateOrDefault('', CAST('2023-01-01', 'Date'))
Response
2023-01-01

toDateOrNull

Introduit dans : v1.1.0 Convertit une valeur d’entrée en une valeur de type Date, mais renvoie NULL si un argument invalide est fourni. Identique à toDate, mais renvoie NULL si un argument invalide est fourni. Syntaxe
toDateOrNull(x)
Arguments
  • x — Une date sous forme de chaîne de caractères. String
Valeur renvoyée Renvoie une valeur Date en cas de succès, sinon NULL. Date ou NULL Exemples Exemple d’utilisation
Query
SELECT toDateOrNull('2025-12-30'), toDateOrNull('invalid')
Response
┌─toDateOrNull('2025-12-30')─┬─toDateOrNull('invalid')─┐
│                 2025-12-30 │                   ᴺᵁᴸᴸ │
└────────────────────────────┴────────────────────────┘

toDateOrZero

Introduit dans : v1.1.0 Convertit une valeur d’entrée en une valeur de type Date, mais renvoie la borne inférieure de Date en cas d’argument invalide. Identique à toDate, mais renvoie la borne inférieure de Date en cas d’argument invalide. Voir aussi : Syntaxe
toDateOrZero(x)
Arguments
  • x — Une représentation sous forme de chaîne de caractères d’une date. String
Valeur renvoyée Renvoie une valeur Date en cas de succès, sinon la borne inférieure de Date (1970-01-01). Date Exemples Exemple d’utilisation
Query
SELECT toDateOrZero('2025-12-30'), toDateOrZero('')
Response
┌─toDateOrZero('2025-12-30')─┬─toDateOrZero('')─┐
│                 2025-12-30 │       1970-01-01 │
└────────────────────────────┴──────────────────┘

toDateTime

Introduit dans : v1.1.0 Convertit une valeur d’entrée en type DateTime.
Si expr est un nombre, il est interprété comme le nombre de secondes écoulées depuis le début de l’époque Unix (c’est-à-dire comme un timestamp Unix). Si expr est une String, elle peut être interprétée soit comme un timestamp Unix, soit comme la représentation sous forme de chaîne d’une date / date avec heure. Par conséquent, l’analyse des représentations sous forme de chaîne de nombres courts (jusqu’à 4 chiffres) est explicitement désactivée en raison de cette ambiguïté. Par exemple, la chaîne '1999' peut représenter soit une année (une représentation sous forme de chaîne incomplète de Date / DateTime), soit un timestamp Unix. Les chaînes numériques plus longues sont autorisées.
Syntaxe
toDateTime(expr[, time_zone])
Arguments Valeur renvoyée Renvoie une date et une heure. DateTime Exemples Exemple d’utilisation
Query
SELECT toDateTime('2025-01-01 00:00:00'), toDateTime(1735689600, 'UTC')
FORMAT Vertical
Response
Row 1:
──────
toDateTime('2025-01-01 00:00:00'): 2025-01-01 00:00:00
toDateTime(1735689600, 'UTC'):     2025-01-01 00:00:00

toDateTime32

Introduit dans : v20.9.0 Convertit une valeur d’entrée en type DateTime. Prend en charge la conversion depuis String, FixedString, Date, Date32, DateTime ou des types numériques ((U)Int*, Float*, Decimal). DateTime32 offre une plage étendue par rapport à DateTime et prend en charge des dates allant de 1900-01-01 à 2299-12-31. Syntaxe
toDateTime32(x[, timezone])
Arguments Valeur renvoyée Renvoie la valeur d’entrée convertie. DateTime Exemples La valeur est comprise dans la plage
Query
SELECT toDateTime64('2025-01-01 00:00:00.000', 3) AS value, toTypeName(value);
Response
┌───────────────────value─┬─toTypeName(toDateTime64('20255-01-01 00:00:00.000', 3))─┐
│ 2025-01-01 00:00:00.000 │ DateTime64(3)                                          │
└─────────────────────────┴────────────────────────────────────────────────────────┘
Sous forme de Decimal, avec précision
Query
SELECT toDateTime64(1735689600.000, 3) AS value, toTypeName(value);
-- without the decimal point the value is still treated as Unix Timestamp in seconds
SELECT toDateTime64(1546300800000, 3) AS value, toTypeName(value);
Response
┌───────────────────value─┬─toTypeName(toDateTime64(1735689600.000, 3))─┐
│ 2025-01-01 00:00:00.000 │ DateTime64(3)                            │
└─────────────────────────┴──────────────────────────────────────────┘
┌───────────────────value─┬─toTypeName(toDateTime64(1546300800000, 3))─┐
│ 2282-12-31 00:00:00.000 │ DateTime64(3)                              │
└─────────────────────────┴────────────────────────────────────────────┘
Avec un fuseau horaire
Query
SELECT toDateTime64('2025-01-01 00:00:00', 3, 'Asia/Istanbul') AS value, toTypeName(value);
Response
┌───────────────────value─┬─toTypeName(toDateTime64('2025-01-01 00:00:00', 3, 'Asia/Istanbul'))─┐
│ 2025-01-01 00:00:00.000 │ DateTime64(3, 'Asia/Istanbul')                                      │
└─────────────────────────┴─────────────────────────────────────────────────────────────────────┘

toDateTime64

Introduit dans : v20.1.0 Convertit une valeur d’entrée en une valeur de type DateTime64. Syntaxe
toDateTime64(expr, scale[, timezone])
Arguments
  • expr — Expression renvoyant un nombre ou une représentation sous forme de chaîne d’un nombre. Expression
  • scale — Taille du tick (précision) : 10^(-scale) secondes. UInt8
  • timezone — Facultatif. Fuseau horaire de l’objet DateTime64 spécifié. String
Valeur renvoyée Renvoie une date calendaire et une heure de la journée, avec une précision inférieure à la seconde. DateTime64 Exemples La valeur se situe dans la plage
Query
SELECT toDateTime64('2025-01-01 00:00:00.000', 3) AS value, toTypeName(value);
Response
┌───────────────────value─┬─toTypeName(toDateTime64('2025-01-01 00:00:00.000', 3))─┐
│ 2025-01-01 00:00:00.000 │ DateTime64(3)                                          │
└─────────────────────────┴────────────────────────────────────────────────────────┘
Sous forme de Decimal avec précision
Query
SELECT toDateTime64(1546300800.000, 3) AS value, toTypeName(value);
-- Without the decimal point the value is still treated as Unix Timestamp in seconds
SELECT toDateTime64(1546300800000, 3) AS value, toTypeName(value);
Response
┌───────────────────value─┬─toTypeName(toDateTime64(1546300800000, 3))─┐
│ 2282-12-31 00:00:00.000 │ DateTime64(3)                              │
└─────────────────────────┴────────────────────────────────────────────┘
Avec fuseau horaire
Query
SELECT toDateTime64('2025-01-01 00:00:00', 3, 'Asia/Istanbul') AS value, toTypeName(value);
Response
┌───────────────────value─┬─toTypeName(toDateTime64('2025-01-01 00:00:00', 3, 'Asia/Istanbul'))─┐
│ 2025-01-01 00:00:00.000 │ DateTime64(3, 'Asia/Istanbul')                                      │
└─────────────────────────┴─────────────────────────────────────────────────────────────────────┘

toDateTime64OrDefault

Introduit dans : v21.11.0 Comme toDateTime64, cette fonction convertit une valeur d’entrée en une valeur de type DateTime64, mais renvoie soit la valeur par défaut de DateTime64, soit la valeur par défaut fournie si un argument invalide est reçu. Syntaxe
toDateTime64OrDefault(expr, scale[, timezone, default])
Arguments
  • expr — Expression renvoyant un nombre ou la représentation sous forme de chaîne d’un nombre. String ou (U)Int* ou Float*
  • scale — Taille du tick (précision) : 10^-precision secondes. UInt8
  • timezone — Facultatif. Fuseau horaire. String
  • default — Facultatif. La valeur par défaut à renvoyer si l’analyse échoue. DateTime64
Valeur renvoyée Valeur de type DateTime64 en cas de succès, sinon renvoie la valeur par défaut si elle est fournie, ou 1970-01-01 00:00:00.000 dans le cas contraire. DateTime64 Exemples Conversion réussie
Query
SELECT toDateTime64OrDefault('1976-10-18 00:00:00.30', 3)
Response
1976-10-18 00:00:00.300
Échec de la conversion
Query
SELECT toDateTime64OrDefault('1976-10-18 00:00:00 30', 3, 'UTC', toDateTime64('2001-01-01 00:00:00.00',3))
Response
2000-12-31 23:00:00.000

toDateTime64OrNull

Introduit dans : v20.1.0 Convertit une valeur d’entrée en une valeur de type DateTime64, mais renvoie NULL si l’argument reçu n’est pas valide. Identique à toDateTime64, mais renvoie NULL si l’argument reçu n’est pas valide. Syntaxe
toDateTime64OrNull(x)
Arguments
  • x — Une représentation sous forme de chaîne d’une date et heure avec une précision sous-seconde. String
Valeur renvoyée Renvoie une valeur DateTime64 en cas de succès, sinon NULL. DateTime64 ou NULL Exemples Exemple d’utilisation
Query
SELECT toDateTime64OrNull('2025-12-30 13:44:17.123'), toDateTime64OrNull('invalid')
Response
┌─toDateTime64OrNull('2025-12-30 13:44:17.123')─┬─toDateTime64OrNull('invalid')─┐
│                         2025-12-30 13:44:17.123 │                          ᴺᵁᴸᴸ │
└─────────────────────────────────────────────────┴───────────────────────────────┘

toDateTime64OrZero

Introduit dans : v20.1.0 Convertit une valeur d’entrée en une valeur de type DateTime64, mais renvoie la borne inférieure de DateTime64 si l’argument est invalide. Identique à toDateTime64, mais renvoie la borne inférieure de DateTime64 si l’argument est invalide. Voir aussi : Syntaxe
toDateTime64OrZero(x)
Arguments
  • x — Une représentation sous forme de chaîne d’une date et heure avec une précision sous-seconde. String
Valeur renvoyée Renvoie une valeur de type DateTime64 en cas de succès, sinon la borne inférieure de DateTime64 (1970-01-01 00:00:00.000). DateTime64 Exemples Exemple d’utilisation
Query
SELECT toDateTime64OrZero('2025-12-30 13:44:17.123'), toDateTime64OrZero('invalid')
Response
┌─toDateTime64OrZero('2025-12-30 13:44:17.123')─┬─toDateTime64OrZero('invalid')─┐
│                         2025-12-30 13:44:17.123 │             1970-01-01 00:00:00.000 │
└─────────────────────────────────────────────────┴─────────────────────────────────────┘

toDateTimeOrDefault

Introduit dans : v21.11.0 Comme toDateTime, mais en cas d’échec, renvoie une valeur par défaut : soit le troisième argument (s’il est spécifié), soit, à défaut, la borne inférieure de DateTime. Syntaxe
toDateTimeOrDefault(expr[, timezone, default])
Arguments
  • expr — Expression renvoyant un nombre ou la représentation sous forme de chaîne d’un nombre. String ou (U)Int* ou Float*
  • timezone — Facultatif. Fuseau horaire. String
  • default — Facultatif. La valeur par défaut à renvoyer si l’analyse échoue. DateTime
Valeur renvoyée Une valeur de type DateTime en cas de succès ; sinon, la valeur par défaut si elle est fournie, ou 1970-01-01 00:00:00 dans le cas contraire. DateTime Exemples Conversion réussie
Query
SELECT toDateTimeOrDefault('2022-12-30 13:44:17')
Response
2022-12-30 13:44:17
Conversion échouée
Query
SELECT toDateTimeOrDefault('', 'UTC', CAST('2023-01-01', 'DateTime(\'UTC\')'))
Response
2023-01-01 00:00:00

toDateTimeOrNull

Introduit dans : v1.1.0 Convertit une valeur d’entrée en valeur de type DateTime, mais renvoie NULL si l’argument n’est pas valide. Identique à toDateTime, mais renvoie NULL si l’argument n’est pas valide. Syntaxe
toDateTimeOrNull(x)
Arguments
  • x — Une représentation sous forme de chaîne d’une date et d’une heure. String
Valeur renvoyée Renvoie une valeur DateTime en cas de réussite, sinon NULL. DateTime ou NULL Exemples Exemple d’utilisation
Query
SELECT toDateTimeOrNull('2025-12-30 13:44:17'), toDateTimeOrNull('invalid')
Response
┌─toDateTimeOrNull('2025-12-30 13:44:17')─┬─toDateTimeOrNull('invalid')─┐
│                     2025-12-30 13:44:17 │                        ᴺᵁᴸᴸ │
└─────────────────────────────────────────┴─────────────────────────────┘

toDateTimeOrZero

Introduit dans : v1.1.0 Convertit une valeur d’entrée en une valeur de type DateTime, mais renvoie la borne inférieure de DateTime si un argument invalide est fourni. Identique à toDateTime, mais renvoie la borne inférieure de DateTime si un argument invalide est fourni. Syntaxe
toDateTimeOrZero(x)
Arguments
  • x — Une représentation sous forme de chaîne d’une date et heure. String
Valeur renvoyée Renvoie une valeur DateTime en cas de succès ; sinon, la borne inférieure de DateTime (1970-01-01 00:00:00). DateTime Exemples Exemple d’utilisation
Query
SELECT toDateTimeOrZero('2025-12-30 13:44:17'), toDateTimeOrZero('invalid')
Response
┌─toDateTimeOrZero('2025-12-30 13:44:17')─┬─toDateTimeOrZero('invalid')─┐
│                     2025-12-30 13:44:17 │         1970-01-01 00:00:00 │
└─────────────────────────────────────────┴─────────────────────────────┘

toDecimal128

Introduit dans : v18.12.0 Convertit une valeur d’entrée en une valeur de type Decimal(38, S) avec une échelle de S. Lève une exception en cas d’erreur. Arguments pris en charge :
  • Valeurs ou représentations sous forme de chaîne de type (U)Int*.
  • Valeurs ou représentations sous forme de chaîne de type Float*.
Arguments non pris en charge :
  • Valeurs Float* NaN et Inf, ou leurs représentations sous forme de chaîne (insensible à la casse).
  • Représentations sous forme de chaîne de valeurs binaires et hexadécimales, par exemple SELECT toDecimal128('0xc0fe', 1);.
Un dépassement de capacité peut se produire si la valeur de expr dépasse les bornes de Decimal128 :(-1*10^(38 - S), 1*10^(38 - S)). Les chiffres excédentaires de la partie fractionnaire sont ignorés (sans arrondi). Les chiffres excédentaires de la partie entière entraîneront une exception.
Les conversions tronquent les chiffres supplémentaires et peuvent se comporter de manière inattendue avec des entrées Float32/Float64, car les opérations sont effectuées à l’aide d’instructions en virgule flottante. Par exemple : toDecimal128(1.15, 2) est égal à 1.14 parce que 1.15 * 100 en virgule flottante vaut 114.99. Vous pouvez utiliser une entrée de type String afin que les opérations utilisent le type entier sous-jacent : toDecimal128('1.15', 2) = 1.15
Syntaxe
toDecimal128(expr, S)
Arguments
  • expr — Expression renvoyant un nombre ou sa représentation sous forme de chaîne. Expression
  • S — Paramètre d’échelle compris entre 0 et 38, qui indique le nombre de chiffres que peut comporter la partie fractionnaire d’un nombre. UInt8
Valeur renvoyée Renvoie une valeur de type Decimal(38, S) Decimal128(S) Exemples Exemple d’utilisation
Query
SELECT
    toDecimal128(99, 1) AS a, toTypeName(a) AS type_a,
    toDecimal128(99.67, 2) AS b, toTypeName(b) AS type_b,
    toDecimal128('99.67', 3) AS c, toTypeName(c) AS type_c
FORMAT Vertical
Response
Row 1:
──────
a:      99
type_a: Decimal(38, 1)
b:      99.67
type_b: Decimal(38, 2)
c:      99.67
type_c: Decimal(38, 3)

toDecimal128OrDefault

Introduit dans : v21.11.0 Comme toDecimal128, cette fonction convertit une valeur d’entrée en une valeur de type Decimal(38, S), mais renvoie une valeur par défaut en cas d’erreur. Syntaxe
toDecimal128OrDefault(expr, S[, default])
Arguments
  • expr — Représentation sous forme de chaîne d’un nombre. String
  • S — Paramètre d’échelle compris entre 0 et 38, qui spécifie le nombre de chiffres que la partie fractionnaire d’un nombre peut contenir. UInt8
  • default — Facultatif. Valeur par défaut à renvoyer si la conversion en type Decimal128(S) échoue. Decimal128(S)
Valeur renvoyée Valeur de type Decimal(38, S) en cas de réussite ; sinon, renvoie la valeur par défaut si elle est fournie, ou 0 dans le cas contraire. Decimal128(S) Exemples Conversion réussie
Query
SELECT toDecimal128OrDefault(toString(1/42), 18)
Response
0.023809523809523808
Échec de la conversion
Query
SELECT toDecimal128OrDefault('Inf', 0, CAST('-1', 'Decimal128(0)'))
Response
-1

toDecimal128OrNull

Introduit dans : v20.1.0 Convertit une valeur d’entrée en une valeur de type Decimal(38, S), mais renvoie NULL en cas d’erreur. Comme toDecimal128, mais renvoie NULL au lieu de lever une exception en cas d’erreur de conversion. Arguments pris en charge :
  • Valeurs ou représentations sous forme de chaîne de type (U)Int*.
  • Valeurs ou représentations sous forme de chaîne de type Float*.
Arguments non pris en charge (renvoient NULL) :
  • Valeurs Float* NaN et Inf, ou leurs représentations sous forme de chaîne (insensible à la casse).
  • Représentations sous forme de chaîne de valeurs binaires et hexadécimales.
  • Valeurs qui dépassent les limites de Decimal128 : (-1*10^(38 - S), 1*10^(38 - S)).
Voir aussi : Syntaxe
toDecimal128OrNull(expr, S)
Arguments
  • expr — Expression renvoyant un nombre ou une représentation sous forme de chaîne d’un nombre. Expression
  • S — Paramètre d’échelle compris entre 0 et 38, indiquant le nombre de chiffres que la partie fractionnaire d’un nombre peut comporter. UInt8
Valeur renvoyée Renvoie une valeur Decimal(38, S) en cas de réussite, sinon NULL. Decimal128(S) ou NULL Exemples Exemple d’utilisation
Query
SELECT toDecimal128OrNull('42.7', 2), toDecimal128OrNull('invalid', 2)
Response
┌─toDecimal128OrNull('42.7', 2)─┬─toDecimal128OrNull('invalid', 2)─┐
│                         42.70 │                             ᴺᵁᴸᴸ │
└───────────────────────────────┴──────────────────────────────────┘

toDecimal128OrZero

Introduit dans : v20.1.0 Convertit une valeur d’entrée en une valeur de type Decimal(38, S), mais renvoie 0 en cas d’erreur. Comme toDecimal128, mais renvoie 0 au lieu de lever une exception en cas d’erreur de conversion. Arguments pris en charge :
  • Valeurs ou représentations sous forme de chaîne de type (U)Int*.
  • Valeurs ou représentations sous forme de chaîne de type Float*.
Arguments non pris en charge (renvoient 0) :
  • Valeurs ou représentations sous forme de chaîne des valeurs Float* NaN et Inf (insensible à la casse).
  • Représentations sous forme de chaîne de valeurs binaires et hexadécimales.
Si la valeur d’entrée dépasse les limites de Decimal128 :(-1*10^(38 - S), 1*10^(38 - S)), la fonction renvoie 0.
Syntaxe
toDecimal128OrZero(expr, S)
Arguments
  • expr — Expression renvoyant un nombre ou la représentation sous forme de chaîne d’un nombre. Expression
  • S — Paramètre d’échelle compris entre 0 et 38, indiquant le nombre de chiffres que la partie fractionnaire d’un nombre peut comporter. UInt8
Valeur renvoyée Renvoie une valeur Decimal(38, S) en cas de succès, sinon 0. Decimal128(S) Exemples Utilisation de base
Query
SELECT toDecimal128OrZero('42.7', 2), toDecimal128OrZero('invalid', 2)
Response
┌─toDecimal128OrZero('42.7', 2)─┬─toDecimal128OrZero('invalid', 2)─┐
│                         42.70 │                             0.00 │
└───────────────────────────────┴──────────────────────────────────┘

toDecimal256

Introduit dans : v20.8.0 Convertit une valeur d’entrée en une valeur de type Decimal(76, S) avec une échelle de S. Lève une exception en cas d’erreur. Arguments pris en charge :
  • Valeurs ou représentations sous forme de chaîne de type (U)Int*.
  • Valeurs ou représentations sous forme de chaîne de type Float*.
Arguments non pris en charge :
  • Valeurs ou représentations sous forme de chaîne de valeurs Float* NaN et Inf (insensible à la casse).
  • Représentations sous forme de chaîne de valeurs en binaire et en hexadécimal, par exemple SELECT toDecimal256('0xc0fe', 1);.
Un dépassement de capacité peut se produire si la valeur de expr dépasse les bornes de Decimal256 : (-1*10^(76 - S), 1*10^(76 - S)). Les chiffres en trop dans la partie fractionnaire sont ignorés (sans arrondi). Les chiffres en trop dans la partie entière entraîneront une exception.
Les conversions tronquent les chiffres supplémentaires et peuvent se comporter de manière inattendue avec des entrées Float32/Float64, car les opérations sont effectuées à l’aide d’instructions en virgule flottante. Par exemple : toDecimal256(1.15, 2) est égal à 1.14, car 1.15 * 100 en virgule flottante donne 114.99. Vous pouvez utiliser une entrée de type String afin que les opérations utilisent le type entier sous-jacent : toDecimal256('1.15', 2) = 1.15
Syntaxe
toDecimal256(expr, S)
Arguments
  • expr — Expression renvoyant un nombre ou la représentation sous forme de chaîne d’un nombre. Expression
  • S — Paramètre d’échelle compris entre 0 et 76, indiquant le nombre de chiffres que la partie fractionnaire d’un nombre peut comporter. UInt8
Valeur renvoyée Renvoie une valeur de type Decimal(76, S). Decimal256(S) Exemples Exemple d’utilisation
Query
SELECT
    toDecimal256(99, 1) AS a, toTypeName(a) AS type_a,
    toDecimal256(99.67, 2) AS b, toTypeName(b) AS type_b,
    toDecimal256('99.67', 3) AS c, toTypeName(c) AS type_c
FORMAT Vertical
Response
Row 1:
──────
a:      99
type_a: Decimal(76, 1)
b:      99.67
type_b: Decimal(76, 2)
c:      99.67
type_c: Decimal(76, 3)

toDecimal256OrDefault

Introduit dans : v21.11.0 Comme toDecimal256, cette fonction convertit une valeur d’entrée en valeur de type Decimal(76, S), mais renvoie la valeur par défaut en cas d’erreur. Syntaxe
toDecimal256OrDefault(expr, S[, default])
Arguments
  • expr — Une représentation sous forme de chaîne d’un nombre. String
  • S — Paramètre d’échelle compris entre 0 et 76, qui indique le nombre de chiffres que la partie fractionnaire d’un nombre peut contenir. UInt8
  • default — Facultatif. Valeur par défaut à renvoyer si la conversion vers le type Decimal256(S) échoue. Decimal256(S)
Valeur renvoyée Une valeur de type Decimal(76, S) en cas de réussite ; sinon, la valeur par défaut si elle est fournie, ou 0 dans le cas contraire. Decimal256(S) Exemples Conversion réussie
Query
SELECT toDecimal256OrDefault(toString(1/42), 76)
Response
0.023809523809523808
Échec de conversion
Query
SELECT toDecimal256OrDefault('Inf', 0, CAST('-1', 'Decimal256(0)'))
Response
-1

toDecimal256OrNull

Introduit dans : v20.8.0 Convertit une valeur d’entrée en une valeur de type Decimal(76, S), mais renvoie NULL en cas d’erreur. Comme toDecimal256, mais renvoie NULL au lieu de lever une exception en cas d’erreur de conversion. Arguments pris en charge :
  • Valeurs ou représentations sous forme de chaîne de type (U)Int*.
  • Valeurs ou représentations sous forme de chaîne de type Float*.
Arguments non pris en charge (renvoient NULL) :
  • Valeurs ou représentations sous forme de chaîne des valeurs Float* NaN et Inf (insensible à la casse).
  • Représentations sous forme de chaîne de valeurs en binaire et en hexadécimal.
  • Valeurs qui dépassent les limites de Decimal256 : (-1 * 10^(76 - S), 1 * 10^(76 - S)).
Voir aussi : Syntaxe
toDecimal256OrNull(expr, S)
Arguments
  • expr — Expression renvoyant un nombre ou sa représentation sous forme de chaîne. Expression
  • S — Paramètre d’échelle compris entre 0 et 76, indiquant le nombre de chiffres que peut contenir la partie fractionnaire d’un nombre. UInt8
Valeur renvoyée Renvoie une valeur Decimal(76, S) en cas de succès, sinon NULL. Decimal256(S) ou NULL Exemples Exemple d’utilisation
Query
SELECT toDecimal256OrNull('42.7', 2), toDecimal256OrNull('invalid', 2)
Response
┌─toDecimal256OrNull('42.7', 2)─┬─toDecimal256OrNull('invalid', 2)─┐
│                         42.70 │                             ᴺᵁᴸᴸ │
└───────────────────────────────┴──────────────────────────────────┘

toDecimal256OrZero

Introduit dans : v20.8.0 Convertit une valeur d’entrée en valeur de type Decimal(76, S), mais renvoie 0 en cas d’erreur. Comme toDecimal256, mais renvoie 0 au lieu de lever une exception en cas d’erreur de conversion. Arguments pris en charge :
  • Valeurs ou représentations sous forme de chaîne de type (U)Int*.
  • Valeurs ou représentations sous forme de chaîne de type Float*.
Arguments non pris en charge (renvoient 0) :
  • Valeurs ou représentations sous forme de chaîne de caractères de valeurs Float* NaN et Inf (insensible à la casse).
  • Représentations sous forme de chaîne de valeurs binaires et hexadécimales.
Si la valeur d’entrée dépasse les limites de Decimal256 : (-1*10^(76 - S), 1*10^(76 - S)), la fonction renvoie 0.
Voir aussi : Syntaxe
toDecimal256OrZero(expr, S)
Arguments
  • expr — Expression renvoyant un nombre ou la représentation sous forme de chaîne d’un nombre. Expression
  • S — Paramètre d’échelle compris entre 0 et 76, indiquant combien de chiffres peut comporter la partie fractionnaire d’un nombre. UInt8
Valeur renvoyée Renvoie une valeur Decimal(76, S) en cas de succès, sinon 0. Decimal256(S) Exemples Exemple d’utilisation
Query
SELECT toDecimal256OrZero('42.7', 2), toDecimal256OrZero('invalid', 2)
Response
┌─toDecimal256OrZero('42.7', 2)─┬─toDecimal256OrZero('invalid', 2)─┐
│                         42.70 │                             0.00 │
└───────────────────────────────┴──────────────────────────────────┘

toDecimal32

Introduit dans : v18.12.0 Convertit une valeur d’entrée en une valeur de type Decimal(9, S) avec une échelle de S. Lève une exception en cas d’erreur. Arguments pris en charge :
  • Valeurs ou représentations sous forme de chaîne de type (U)Int*.
  • Valeurs ou représentations sous forme de chaîne de type Float*.
Arguments non pris en charge :
  • Valeurs ou représentations sous forme de chaîne des valeurs Float* NaN et Inf (insensible à la casse).
  • Représentations sous forme de chaîne de valeurs binaires et hexadécimales, par ex. SELECT toDecimal32('0xc0fe', 1);.
Un dépassement de capacité peut se produire si la valeur de expr dépasse les limites de Decimal32 :(-1*10^(9 - S), 1*10^(9 - S)). Les chiffres en trop dans la partie fractionnaire sont supprimés (sans arrondi). Les chiffres en trop dans la partie entière entraînent une exception.
Les conversions suppriment les chiffres en trop et peuvent produire un résultat inattendu avec des entrées Float32/Float64, car les opérations sont effectuées à l’aide d’instructions en virgule flottante. Par exemple : toDecimal32(1.15, 2) est égal à 1.14 parce que 1.15 * 100 en virgule flottante vaut 114.99. Vous pouvez utiliser une entrée String afin que les opérations utilisent le type entier sous-jacent : toDecimal32('1.15', 2) = 1.15
Syntaxe
toDecimal32(expr, S)
Arguments
  • expr — Expression renvoyant un nombre ou une représentation d’un nombre sous forme de chaîne. Expression
  • S — Paramètre d’échelle compris entre 0 et 9, indiquant le nombre de chiffres que peut comporter la partie fractionnaire d’un nombre. UInt8
Valeur renvoyée Renvoie une valeur de type Decimal(9, S) Decimal32(S) Exemples Exemple d’utilisation
Query
SELECT
    toDecimal32(2, 1) AS a, toTypeName(a) AS type_a,
    toDecimal32(4.2, 2) AS b, toTypeName(b) AS type_b,
    toDecimal32('4.2', 3) AS c, toTypeName(c) AS type_c
FORMAT Vertical
Response
Row 1:
──────
a:      2
type_a: Decimal(9, 1)
b:      4.2
type_b: Decimal(9, 2)
c:      4.2
type_c: Decimal(9, 3)

toDecimal32OrDefault

Introduit dans : v21.11.0 À l’instar de toDecimal32, cette fonction convertit une valeur d’entrée en une valeur de type Decimal(9, S), mais renvoie la valeur par défaut en cas d’erreur. Syntaxe
toDecimal32OrDefault(expr, S[, default])
Arguments
  • expr — Une représentation sous forme de chaîne d’un nombre. String
  • S — Paramètre d’échelle compris entre 0 et 9, qui spécifie le nombre de chiffres que la partie fractionnaire d’un nombre peut contenir. UInt8
  • default — Facultatif. La valeur par défaut à renvoyer si la conversion en type Decimal32(S) échoue. Decimal32(S)
Valeur renvoyée Une valeur de type Decimal(9, S) en cas de réussite ; sinon, la valeur par défaut si elle est fournie, ou 0 dans le cas contraire. Decimal32(S) Exemples Conversion réussie
Query
SELECT toDecimal32OrDefault(toString(0.0001), 5)
Response
0.0001
Échec de conversion
Query
SELECT toDecimal32OrDefault('Inf', 0, CAST('-1', 'Decimal32(0)'))
Response
-1

toDecimal32OrNull

Introduit dans : v20.1.0 Convertit une valeur d’entrée en une valeur de type Decimal(9, S), mais renvoie NULL en cas d’erreur. Comme toDecimal32, mais renvoie NULL au lieu de lever une exception en cas d’erreur de conversion. Arguments pris en charge :
  • Valeurs ou représentations sous forme de chaîne de type (U)Int*.
  • Valeurs ou représentations sous forme de chaîne de type Float*.
Arguments non pris en charge (renvoient NULL) :
  • Valeurs ou représentations sous forme de chaîne des valeurs Float* NaN et Inf (insensible à la casse).
  • Représentations sous forme de chaîne de valeurs binaires et hexadécimales.
  • Valeurs qui dépassent les limites de Decimal32 :(-1*10^(9 - S), 1*10^(9 - S)).
Voir aussi : Syntaxe
toDecimal32OrNull(expr, S)
Arguments
  • expr — Expression renvoyant un nombre ou une représentation sous forme de chaîne d’un nombre. Expression
  • S — Paramètre d’échelle compris entre 0 et 9, indiquant le nombre de chiffres que peut comporter la partie fractionnaire d’un nombre. UInt8
Valeur renvoyée Renvoie une valeur Decimal(9, S) en cas de succès, sinon NULL. Decimal32(S) ou NULL Exemples Exemple d’utilisation
Query
SELECT toDecimal32OrNull('42.7', 2), toDecimal32OrNull('invalid', 2)
Response
┌─toDecimal32OrNull('42.7', 2)─┬─toDecimal32OrNull('invalid', 2)─┐
│                        42.70 │                            ᴺᵁᴸᴸ │
└──────────────────────────────┴─────────────────────────────────┘

toDecimal32OrZero

Introduit dans : v20.1.0 Convertit une valeur d’entrée en une valeur de type Decimal(9, S), mais renvoie 0 en cas d’erreur. Comme toDecimal32, mais renvoie 0 au lieu de lever une exception en cas d’erreur de conversion. Arguments pris en charge :
  • Valeurs ou représentations sous forme de chaîne du type (U)Int*.
  • Valeurs ou représentations sous forme de chaîne du type Float*.
Arguments non pris en charge (renvoient 0) :
  • Valeurs Float* NaN et Inf, ou leurs représentations sous forme de chaîne (insensible à la casse).
  • Représentations sous forme de chaîne de valeurs binaires et hexadécimales.
Si la valeur d’entrée dépasse les limites de Decimal32 :(-1*10^(9 - S), 1*10^(9 - S)), la fonction renvoie 0.
Syntaxe
toDecimal32OrZero(expr, S)
Arguments
  • expr — Expression renvoyant un nombre ou sa représentation sous forme de chaîne. Expression
  • S — Paramètre d’échelle compris entre 0 et 9, indiquant le nombre de chiffres que peut comporter la partie fractionnaire d’un nombre. UInt8
Valeur renvoyée Renvoie une valeur Decimal(9, S) en cas de réussite, sinon 0. Decimal32(S) Exemples Exemple d’utilisation
Query
SELECT toDecimal32OrZero('42.7', 2), toDecimal32OrZero('invalid', 2)
Response
┌─toDecimal32OrZero('42.7', 2)─┬─toDecimal32OrZero('invalid', 2)─┐
│                        42.70 │                            0.00 │
└──────────────────────────────┴─────────────────────────────────┘

toDecimal64

Introduit dans : v18.12.0 Convertit une valeur d’entrée en une valeur de type Decimal(18, S) avec une échelle de S. Lève une exception en cas d’erreur. Arguments pris en charge :
  • Valeurs ou représentations sous forme de chaîne de type (U)Int*.
  • Valeurs ou représentations sous forme de chaîne de type Float*.
Arguments non pris en charge :
  • Valeurs ou représentations sous forme de chaîne des valeurs Float* NaN et Inf (insensible à la casse).
  • Représentations sous forme de chaîne de valeurs binaires ou hexadécimales, par ex. SELECT toDecimal64('0xc0fe', 1);.
Un dépassement peut se produire si la valeur de expr dépasse les limites de Decimal64 :(-1*10^(18 - S), 1*10^(18 - S)). Les chiffres en trop dans la partie fractionnaire sont ignorés (sans arrondi). Les chiffres en trop dans la partie entière entraînent une exception.
Les conversions suppriment les chiffres en trop et peuvent produire des résultats inattendus avec des entrées Float32/Float64, car les opérations sont effectuées à l’aide d’instructions en virgule flottante. Par exemple : toDecimal64(1.15, 2) est égal à 1.14 parce que 1.15 * 100 en virgule flottante vaut 114.99. Vous pouvez utiliser une entrée String pour que les opérations utilisent le type entier sous-jacent : toDecimal64('1.15', 2) = 1.15
Syntaxe
toDecimal64(expr, S)
Arguments
  • expr — Expression renvoyant un nombre ou la représentation sous forme de chaîne d’un nombre. Expression
  • S — Paramètre d’échelle compris entre 0 et 18, indiquant le nombre de chiffres que peut comporter la partie fractionnaire d’un nombre. UInt8
Valeur renvoyée Renvoie une valeur de type décimal. Decimal(18, S) Exemples Exemple d’utilisation
Query
SELECT
    toDecimal64(2, 1) AS a, toTypeName(a) AS type_a,
    toDecimal64(4.2, 2) AS b, toTypeName(b) AS type_b,
    toDecimal64('4.2', 3) AS c, toTypeName(c) AS type_c
FORMAT Vertical
Response
Row 1:
──────
a:      2.0
type_a: Decimal(18, 1)
b:      4.20
type_b: Decimal(18, 2)
c:      4.200
type_c: Decimal(18, 3)

toDecimal64OrDefault

Introduit dans : v21.11.0 Comme toDecimal64, cette fonction convertit une valeur d’entrée en une valeur de type Decimal(18, S), mais renvoie la valeur par défaut en cas d’erreur. Syntaxe
toDecimal64OrDefault(expr, S[, default])
Arguments
  • expr — Une représentation d’un nombre sous forme de chaîne. String
  • S — Paramètre d’échelle compris entre 0 et 18, indiquant le nombre de chiffres que peut contenir la partie fractionnaire d’un nombre. UInt8
  • default — Facultatif. Valeur par défaut à renvoyer si la conversion vers le type Decimal64(S) échoue. Decimal64(S)
Valeur renvoyée Une valeur de type Decimal(18, S) en cas de réussite ; sinon, la valeur par défaut si elle est fournie, ou 0 dans le cas contraire. Decimal64(S) Exemples Conversion réussie
Query
SELECT toDecimal64OrDefault(toString(0.0001), 18)
Response
0.0001
Échec de la conversion
Query
SELECT toDecimal64OrDefault('Inf', 0, CAST('-1', 'Decimal64(0)'))
Response
-1

toDecimal64OrNull

Introduit dans : v20.1.0 Convertit une valeur d’entrée en une valeur de type Decimal(18, S), mais renvoie NULL en cas d’erreur. Comme toDecimal64, mais renvoie NULL au lieu de lever une exception en cas d’erreur de conversion. Arguments pris en charge :
  • Valeurs ou représentations sous forme de chaîne de type (U)Int*.
  • Valeurs ou représentations sous forme de chaîne de type Float*.
Arguments non pris en charge (renvoient NULL) :
  • Valeurs ou représentations sous forme de chaîne des valeurs Float* NaN et Inf (insensible à la casse).
  • Représentations sous forme de chaîne de valeurs binaires et hexadécimales.
  • Valeurs qui dépassent les limites de Decimal64 : (-1*10^(18 - S), 1*10^(18 - S)).
Voir aussi : Syntaxe
toDecimal64OrNull(expr, S)
Arguments
  • expr — Expression renvoyant un nombre ou une représentation sous forme de chaîne d’un nombre. Expression
  • S — Paramètre d’échelle compris entre 0 et 18, indiquant le nombre de chiffres que peut comporter la partie fractionnaire d’un nombre. UInt8
Valeur renvoyée Renvoie une valeur Decimal(18, S) en cas de réussite, sinon NULL. Decimal64(S) ou NULL Exemples Exemple d’utilisation
Query
SELECT toDecimal64OrNull('42.7', 2), toDecimal64OrNull('invalid', 2)
Response
┌─toDecimal64OrNull('42.7', 2)─┬─toDecimal64OrNull('invalid', 2)─┐
│                        42.70 │                            ᴺᵁᴸᴸ │
└──────────────────────────────┴─────────────────────────────────┘

toDecimal64OrZero

Introduit dans : v20.1.0 Convertit une valeur d’entrée en une valeur de type Decimal(18, S), mais renvoie 0 en cas d’erreur. Comme toDecimal64, mais renvoie 0 au lieu de générer une exception en cas d’erreur de conversion. Arguments pris en charge :
  • Valeurs ou représentations sous forme de chaîne de type (U)Int*.
  • Valeurs ou représentations sous forme de chaîne de type Float*.
Arguments non pris en charge (renvoient 0) :
  • Valeurs ou représentations sous forme de chaîne des valeurs Float* NaN et Inf (insensible à la casse).
  • Représentations sous forme de chaîne de valeurs binaires et hexadécimales.
Si la valeur d’entrée dépasse les limites de Decimal64 : (-1*10^(18 - S), 1*10^(18 - S)), la fonction renvoie 0.
Voir aussi : Syntaxe
toDecimal64OrZero(expr, S)
Arguments
  • expr — Expression renvoyant un nombre ou la représentation sous forme de chaîne d’un nombre. Expression
  • S — Paramètre d’échelle compris entre 0 et 18, indiquant le nombre de chiffres que peut contenir la partie fractionnaire d’un nombre. UInt8
Valeur renvoyée Renvoie une valeur Decimal(18, S) en cas de réussite, sinon 0. Decimal64(S) Exemples Exemple d’utilisation
Query
SELECT toDecimal64OrZero('42.7', 2), toDecimal64OrZero('invalid', 2)
Response
┌─toDecimal64OrZero('42.7', 2)─┬─toDecimal64OrZero('invalid', 2)─┐
│                        42.70 │                            0.00 │
└──────────────────────────────┴─────────────────────────────────┘

toDecimalString

Introduit dans : v23.3.0 Convertit une valeur numérique en String avec le nombre spécifié de chiffres fractionnaires. La fonction arrondit la valeur d’entrée au nombre spécifié de décimales. Si la valeur d’entrée comporte moins de chiffres fractionnaires que demandé, le résultat est complété par des zéros afin d’obtenir exactement le nombre de chiffres fractionnaires spécifié. Syntaxe
toDecimalString(number, scale)
Arguments
  • number — Valeur numérique à convertir en chaîne. Peut être de n’importe quel type numérique (Int, UInt, Float, Decimal). Int8 ou Int16 ou Int32 ou Int64 ou UInt8 ou UInt16 ou UInt32 ou UInt64 ou Float32 ou Float64 ou Decimal
  • scale — Le nombre de chiffres à afficher après la virgule. Le résultat sera arrondi si nécessaire. UInt8
Valeur renvoyée Renvoie une représentation String du nombre avec exactement le nombre spécifié de chiffres après la virgule. String Exemples Arrondir et formater un nombre
Query
SELECT toDecimalString(2.1456, 2)
Response
┌─toDecimalString(2.1456, 2)─┐
│ 2.15                       │
└────────────────────────────┘
Remplir avec des zéros
Query
SELECT toDecimalString(5, 3)
Response
┌─toDecimalString(5, 3)─┐
│ 5.000                 │
└───────────────────────┘
Différents types numériques
Query
SELECT toDecimalString(CAST(123.456 AS Decimal(10,3)), 2) AS decimal_val,
       toDecimalString(CAST(42.7 AS Float32), 4) AS float_val
Response
┌─decimal_val─┬─float_val─┐
│ 123.46      │ 42.7000   │
└─────────────┴───────────┘

toFixedString

Introduit dans : v1.1.0 Convertit un argument String en FixedString(N) (une chaîne de longueur fixe N). Si la chaîne comporte moins d’octets que N, elle est remplie à droite avec des octets nuls. Si la chaîne comporte plus d’octets que N, une exception est levée. Syntaxe
toFixedString(s, N)
Arguments
  • s — Chaîne à convertir. String
  • N — Longueur de la FixedString obtenue. const UInt*
Valeur renvoyée Renvoie une FixedString de longueur N. FixedString(N) Exemples Exemple d’utilisation
Query
SELECT toFixedString('foo', 8) AS s;
Response
┌─s─────────────┐
│ foo\0\0\0\0\0 │
└───────────────┘

toFloat32

Introduit dans : v1.1.0 Convertit une valeur d’entrée en valeur de type Float32. Lève une exception en cas d’erreur. Arguments pris en charge :
  • Valeurs de type (U)Int*.
  • Représentations sous forme de chaîne de (U)Int8/16/32/128/256.
  • Valeurs de type Float*, y compris NaN et Inf.
  • Représentations sous forme de chaîne de Float*, y compris NaN et Inf (insensibles à la casse).
Arguments non pris en charge :
  • Représentations sous forme de chaîne de valeurs binaires et hexadécimales, par exemple SELECT toFloat32('0xc0fe');.
Voir aussi : Syntaxe
toFloat32(expr)
Arguments
  • expr — Expression renvoyant un nombre ou la représentation sous forme de chaîne d’un nombre. Expression
Valeur renvoyée Renvoie une valeur à virgule flottante 32 bits. Float32 Exemples Exemple d’utilisation
Query
SELECT
    toFloat32(42.7),
    toFloat32('42.7'),
    toFloat32('NaN')
FORMAT Vertical
Response
Row 1:
──────
toFloat32(42.7):   42.7
toFloat32('42.7'): 42.7
toFloat32('NaN'):  nan

toFloat32OrDefault

Introduit dans : v21.11.0 Comme toFloat32, cette fonction convertit une valeur d’entrée en une valeur de type Float32, mais renvoie la valeur par défaut en cas d’erreur. Si aucune valeur default n’est fournie, 0 est renvoyé en cas d’erreur. Syntaxe
toFloat32OrDefault(expr[, default])
Arguments
  • expr — Expression qui renvoie un nombre ou la représentation sous forme de chaîne d’un nombre. String ou (U)Int* ou Float*
  • default — Facultatif. La valeur par défaut à renvoyer si l’interprétation échoue. Float32
Valeur renvoyée Renvoie une valeur de type Float32 en cas de réussite ; sinon, renvoie la valeur par défaut si elle est fournie, ou 0 dans le cas contraire. Float32 Exemples Conversion réussie
Query
SELECT toFloat32OrDefault('8', CAST('0', 'Float32'))
Response
8
Échec de conversion
Query
SELECT toFloat32OrDefault('abc', CAST('0', 'Float32'))
Response
0

toFloat32OrNull

Introduit dans : v1.1.0 Convertit une valeur d’entrée en valeur de type Float32, mais renvoie NULL en cas d’erreur. Comme toFloat32, mais renvoie NULL au lieu de lever une exception en cas d’erreur de conversion. Arguments pris en charge :
  • Valeurs de type (U)Int*.
  • Représentations sous forme de chaîne de (U)Int8/16/32/128/256.
  • Valeurs de type Float*, y compris NaN et Inf.
  • Représentations sous forme de chaîne de Float*, y compris NaN et Inf (insensibles à la casse).
Arguments non pris en charge (renvoie NULL) :
  • Représentations sous forme de chaîne de valeurs binaires et hexadécimales, par ex. SELECT toFloat32OrNull('0xc0fe');.
  • Formats de chaîne non valides.
Voir aussi : Syntaxe
toFloat32OrNull(x)
Arguments
  • x — Une représentation sous forme de chaîne d’un nombre. String
Valeur renvoyée Renvoie une valeur Float32 en cas de réussite, sinon NULL. Float32 ou NULL Exemples Exemple d’utilisation
Query
SELECT
    toFloat32OrNull('42.7'),
    toFloat32OrNull('NaN'),
    toFloat32OrNull('abc')
FORMAT Vertical
Response
Row 1:
──────
toFloat32OrNull('42.7'): 42.7
toFloat32OrNull('NaN'):  nan
toFloat32OrNull('abc'):  \N

toFloat32OrZero

Introduit dans : v1.1.0 Convertit une valeur d’entrée en valeur de type Float32, mais renvoie 0 en cas d’erreur. Comme toFloat32, mais renvoie 0 au lieu de lever une exception en cas d’erreur de conversion. Voir aussi : Syntaxe
toFloat32OrZero(x)
Arguments
  • x — Une représentation sous forme de chaîne d’un nombre. String
Valeur renvoyée Renvoie une valeur de type Float32 en cas de succès, sinon 0. Float32 Exemples Exemple d’utilisation
Query
SELECT
    toFloat32OrZero('42.7'),
    toFloat32OrZero('abc')
FORMAT Vertical
Response
Row 1:
──────
toFloat32OrZero('42.7'): 42.7
toFloat32OrZero('abc'):  0

toFloat64

Introduit dans : v1.1.0 Convertit une valeur d’entrée en une valeur de type Float64. Lève une exception en cas d’erreur. Arguments pris en charge :
  • Valeurs de type (U)Int*.
  • Représentations sous forme de chaîne de (U)Int8/16/32/128/256.
  • Valeurs de type Float*, y compris NaN et Inf.
  • Représentations sous forme de chaîne de type Float*, y compris NaN et Inf (insensible à la casse).
Arguments non pris en charge :
  • Représentations sous forme de chaîne de valeurs binaires et hexadécimales, par exemple SELECT toFloat64('0xc0fe');.
Voir aussi : Syntaxe
toFloat64(expr)
Arguments
  • expr — Expression renvoyant un nombre ou la représentation sous forme de chaîne d’un nombre. Expression
Valeur renvoyée Renvoie une valeur en virgule flottante sur 64 bits. Float64 Exemples Exemple d’utilisation
Query
SELECT
    toFloat64(42.7),
    toFloat64('42.7'),
    toFloat64('NaN')
FORMAT Vertical
Response
Row 1:
──────
toFloat64(42.7):   42.7
toFloat64('42.7'): 42.7
toFloat64('NaN'):  nan

toFloat64OrDefault

Introduit dans : v21.11.0 Comme toFloat64, cette fonction convertit une valeur d’entrée en valeur de type Float64, mais renvoie la valeur par défaut en cas d’erreur. Si aucune valeur default n’est fournie, 0 est renvoyé en cas d’erreur. Syntaxe
toFloat64OrDefault(expr[, default])
Arguments
  • expr — Expression renvoyant un nombre ou une représentation sous forme de chaîne d’un nombre. String ou (U)Int* ou Float*
  • default — Facultatif. La valeur par défaut à renvoyer si l’analyse échoue. Float64
Valeur renvoyée Renvoie une valeur de type Float64 en cas de réussite ; sinon, renvoie la valeur par défaut si elle est fournie, ou 0 dans le cas contraire. Float64 Exemples Conversion réussie
Query
SELECT toFloat64OrDefault('8', CAST('0', 'Float64'))
Response
8
Échec de la conversion
Query
SELECT toFloat64OrDefault('abc', CAST('0', 'Float64'))
Response
0

toFloat64OrNull

Introduit dans : v1.1.0 Convertit une valeur d’entrée en valeur de type Float64, mais renvoie NULL en cas d’erreur. Comme toFloat64, mais renvoie NULL au lieu de lever une exception en cas d’erreur de conversion. Arguments pris en charge :
  • Valeurs de type (U)Int*.
  • Représentations sous forme de chaîne de (U)Int8/16/32/128/256.
  • Valeurs de type Float*, y compris NaN et Inf.
  • Représentations sous forme de chaîne du type Float*, y compris NaN et Inf (insensible à la casse).
Arguments non pris en charge (renvoient NULL) :
  • Représentations sous forme de chaîne de valeurs binaires et hexadécimales, par ex. SELECT toFloat64OrNull('0xc0fe');.
  • Formats de chaîne non valides.
Voir aussi : Syntaxe
toFloat64OrNull(x)
Arguments
  • x — La représentation sous forme de chaîne d’un nombre. String
Valeur renvoyée Renvoie une valeur de type Float64 en cas de réussite, sinon NULL. Float64 ou NULL Exemples Exemple d’utilisation
Query
SELECT
    toFloat64OrNull('42.7'),
    toFloat64OrNull('NaN'),
    toFloat64OrNull('abc')
FORMAT Vertical
Response
Row 1:
──────
toFloat64OrNull('42.7'): 42.7
toFloat64OrNull('NaN'):  nan
toFloat64OrNull('abc'):  \N

toFloat64OrZero

Introduit dans : v1.1.0 Convertit une valeur d’entrée en une valeur de type Float64, mais renvoie 0 en cas d’erreur. Comme toFloat64, mais renvoie 0 au lieu de lever une exception en cas d’erreur de conversion. Voir aussi : Syntaxe
toFloat64OrZero(x)
Arguments
  • x — Une représentation sous forme de chaîne d’un nombre. String
Valeur renvoyée Renvoie une valeur de type Float64 en cas de réussite, sinon 0. Float64 Exemples Exemple d’utilisation
Query
SELECT
    toFloat64OrZero('42.7'),
    toFloat64OrZero('abc')
FORMAT Vertical
Response
Row 1:
──────
toFloat64OrZero('42.7'): 42.7
toFloat64OrZero('abc'):  0

toInt128

Introduit dans : v1.1.0 Convertit une valeur d’entrée en une valeur de type Int128. Lève une exception en cas d’erreur. La fonction utilise un arrondi vers zéro, c’est-à-dire qu’elle tronque la partie fractionnaire des nombres. Arguments pris en charge :
  • Valeurs ou représentations sous forme de chaîne de type (U)Int*.
  • Valeurs de type Float*.
Arguments non pris en charge :
  • Représentations sous forme de chaîne de valeurs de type Float*, y compris NaN et Inf.
  • Représentations sous forme de chaîne de valeurs binaires et hexadécimales, par ex. SELECT toInt128('0xc0fe');.
Si la valeur d’entrée ne peut pas être représentée dans les limites de Int128, le résultat déborde par excès ou par défaut. Cela n’est pas considéré comme une erreur.
Voir aussi : Syntaxe
toInt128(expr)
Arguments
  • expr — Expression renvoyant un nombre ou une représentation sous forme de chaîne d’un nombre. Expression
Valeur renvoyée Renvoie une valeur entière sur 128 bits. Int128 Exemples Exemple d’utilisation
Query
SELECT
    toInt128(-128),
    toInt128(-128.8),
    toInt128('-128')
FORMAT Vertical
Response
Row 1:
──────
toInt128(-128):   -128
toInt128(-128.8): -128
toInt128('-128'): -128

toInt128OrDefault

Introduit dans : v21.11.0 Comme toInt128, cette fonction convertit une valeur d’entrée en une valeur de type Int128, mais renvoie la valeur par défaut en cas d’erreur. Si aucune valeur default n’est fournie, 0 est renvoyé en cas d’erreur. Syntaxe
toInt128OrDefault(expr[, default])
Arguments
  • expr — Expression renvoyant un nombre ou la représentation sous forme de chaîne d’un nombre. String ou (U)Int* ou Float*
  • default — Facultatif. La valeur par défaut à renvoyer si l’analyse échoue. Int128
Valeur renvoyée Renvoie une valeur de type Int128 en cas de réussite ; sinon, renvoie la valeur par défaut si elle est fournie, ou 0 dans le cas contraire. Int128 Exemples Conversion réussie
Query
SELECT toInt128OrDefault('-128', CAST('-1', 'Int128'))
Response
-128
Échec de la conversion
Query
SELECT toInt128OrDefault('abc', CAST('-1', 'Int128'))
Response
-1

toInt128OrNull

Introduit dans : v20.8.0 Comme toInt128, cette fonction convertit une valeur d’entrée en une valeur de type Int128, mais renvoie NULL en cas d’erreur. Arguments pris en charge :
  • Représentations sous forme de chaîne de (U)Int*.
Arguments non pris en charge (renvoient NULL) :
  • Représentations sous forme de chaîne de valeurs Float*, y compris NaN et Inf.
  • Représentations sous forme de chaîne de valeurs binaires et hexadécimales, par exemple SELECT toInt128OrNull('0xc0fe');.
Si la valeur d’entrée ne peut pas être représentée dans les limites de Int128, un dépassement de capacité du résultat se produit, par valeur supérieure ou inférieure. Cela n’est pas considéré comme une erreur.
Voir aussi : Syntaxe
toInt128OrNull(x)
Arguments
  • x — Représentation d’un nombre sous forme de chaîne de caractères. String
Valeur renvoyée Renvoie une valeur de type Int128, ou NULL si la conversion échoue. Int128 ou NULL Exemples Exemple d’utilisation
Query
SELECT
    toInt128OrNull('-128'),
    toInt128OrNull('abc')
FORMAT Vertical
Response
Row 1:
──────
toInt128OrNull('-128'): -128
toInt128OrNull('abc'):  \N

toInt128OrZero

Introduit dans : v20.8.0 Convertit une valeur d’entrée en Int128, mais renvoie 0 en cas d’erreur. Comme toInt128, mais renvoie 0 au lieu de lever une exception. Voir aussi : Syntaxe
toInt128OrZero(x)
Arguments Valeur renvoyée Renvoie la valeur d’entrée convertie, ou 0 si la conversion échoue. Int128 Exemples Exemple d’utilisation
Query
SELECT toInt128OrZero('123')
Response
123
En cas d’échec, la conversion renvoie zéro
Query
SELECT toInt128OrZero('abc')
Response
0

toInt16

Introduit dans : v1.1.0 Convertit une valeur d’entrée en valeur de type Int16. Lève une exception en cas d’erreur. Arguments pris en charge :
  • Valeurs ou représentations sous forme de chaîne de type (U)Int*.
  • Valeurs de type Float*.
Arguments non pris en charge :
  • Représentations sous forme de chaîne de valeurs Float*, y compris NaN et Inf.
  • Représentations sous forme de chaîne de valeurs binaires et hexadécimales, par exemple SELECT toInt16('0xc0fe');.
Si la valeur d’entrée ne peut pas être représentée dans les bornes de Int16, un dépassement inférieur ou supérieur se produit dans le résultat. Cela n’est pas considéré comme une erreur. Par exemple : SELECT toInt16(32768) == -32768;.
La fonction utilise l’arrondi vers zéro, c’est-à-dire qu’elle tronque les chiffres après la virgule.
Voir aussi : Syntaxe
toInt16(expr)
Arguments
  • expr — Expression renvoyant un nombre ou une représentation sous forme de chaîne d’un nombre. Expression
Valeur renvoyée Renvoie une valeur entière de 16 bits. Int16 Exemples Exemple d’utilisation
Query
SELECT
    toInt16(-16),
    toInt16(-16.16),
    toInt16('-16')
FORMAT Vertical
Response
Row 1:
──────
toInt16(-16):    -16
toInt16(-16.16): -16
toInt16('-16'):  -16

toInt16OrDefault

Introduite dans : v21.11.0 Comme toInt16, cette fonction convertit une valeur d’entrée en valeur de type Int16, mais renvoie la valeur par défaut en cas d’erreur. Si aucune valeur default n’est fournie, 0 est renvoyé en cas d’erreur. Syntaxe
toInt16OrDefault(expr[, default])
Arguments
  • expr — Expression renvoyant un nombre ou la représentation sous forme de chaîne d’un nombre. String ou (U)Int* ou Float*
  • default — Facultatif. Valeur par défaut à renvoyer si l’analyse échoue. Int16
Valeur renvoyée Renvoyé une valeur de type Int16 en cas de succès ; sinon, renvoie la valeur par défaut si elle est fournie, ou 0 dans le cas contraire. Int16 Exemples Conversion réussie
Query
SELECT toInt16OrDefault('-16', CAST('-1', 'Int16'))
Response
-16
Conversion échouée
Query
SELECT toInt16OrDefault('abc', CAST('-1', 'Int16'))
Response
-1

toInt16OrNull

Introduit dans : v1.1.0 Comme toInt16, cette fonction convertit une valeur d’entrée en une valeur de type Int16, mais renvoie NULL en cas d’erreur. Arguments pris en charge :
  • Représentations sous forme de chaînes de caractères de (U)Int*.
Arguments non pris en charge (renvoient NULL) :
  • Représentations sous forme de chaînes de caractères de valeurs Float*, y compris NaN et Inf.
  • Représentations sous forme de chaînes de caractères de valeurs binaires et hexadécimales, par exemple SELECT toInt16OrNull('0xc0fe');.
Si la valeur d’entrée ne peut pas être représentée dans les limites de Int16, un dépassement de capacité ou sous-dépassement du résultat se produit. Cela n’est pas considéré comme une erreur.
Voir aussi : Syntaxe
toInt16OrNull(x)
Arguments
  • x — Une représentation sous forme de chaîne d’un nombre. String
Valeur renvoyée Renvoie une valeur de type Int16, ou NULL si la conversion échoue. Int16 ou NULL Exemples Exemple d’utilisation
Query
SELECT
    toInt16OrNull('-16'),
    toInt16OrNull('abc')
FORMAT Vertical
Response
Row 1:
──────
toInt16OrNull('-16'): -16
toInt16OrNull('abc'): \N

toInt16OrZero

Introduit dans : v1.1.0 Comme toInt16, cette fonction convertit une valeur d’entrée en une valeur de type Int16, mais renvoie 0 en cas d’erreur. Arguments pris en charge :
  • représentation sous forme de chaîne de caractères de (U)Int*.
Arguments non pris en charge (renvoient 0) :
  • représentation sous forme de chaîne de caractères de valeurs Float*, y compris NaN et Inf.
  • représentation sous forme de chaîne de caractères de valeurs binaires et hexadécimales, par exemple SELECT toInt16OrZero('0xc0fe');.
Si la valeur d’entrée ne peut pas être représentée dans les limites de Int16, le résultat subit un dépassement de capacité ou sous-dépassement. Cela n’est pas considéré comme une erreur.
Voir aussi : Syntaxe
toInt16OrZero(x)
Arguments
  • x — Une représentation sous forme de chaîne d’un nombre. String
Valeur renvoyée Renvoie une valeur de type Int16, ou 0 si la conversion échoue. Int16 Exemples Exemple d’utilisation
Query
SELECT
    toInt16OrZero('16'),
    toInt16OrZero('abc')
FORMAT Vertical
Response
Row 1:
──────
toInt16OrZero('16'): 16
toInt16OrZero('abc'): 0

toInt256

Introduit dans : v1.1.0 Convertit une valeur d’entrée en une valeur de type Int256. Lève une exception en cas d’erreur. La fonction utilise l’arrondi vers zéro, ce qui signifie qu’elle tronque les chiffres après la virgule. Arguments pris en charge :
  • Valeurs ou représentations sous forme de chaîne de type (U)Int*.
  • Valeurs de type Float*.
Arguments non pris en charge :
  • Représentations sous forme de chaîne de valeurs Float*, y compris NaN et Inf.
  • Représentations sous forme de chaîne de valeurs binaires et hexadécimales, par ex. SELECT toInt256('0xc0fe');.
Si la valeur d’entrée ne peut pas être représentée dans les limites d’Int256, le résultat déborde. Cela n’est pas considéré comme une erreur.
Voir aussi : Syntaxe
toInt256(expr)
Arguments
  • expr — Expression renvoyant un nombre ou la représentation sous forme de chaîne d’un nombre. Expression
Valeur renvoyée Renvoie une valeur entière de 256 bits. Int256 Exemples Exemple d’utilisation
Query
SELECT
    toInt256(-256),
    toInt256(-256.256),
    toInt256('-256')
FORMAT Vertical
Response
Row 1:
──────
toInt256(-256):     -256
toInt256(-256.256): -256
toInt256('-256'):   -256

toInt256OrDefault

Introduit dans : v21.11.0 Comme toInt256, cette fonction convertit une valeur d’entrée en valeur de type Int256, mais renvoie la valeur par défaut en cas d’erreur. Si aucune valeur default n’est fournie, 0 est renvoyé en cas d’erreur. Syntaxe
toInt256OrDefault(expr[, default])
Arguments
  • expr — Expression renvoyant un nombre ou une représentation sous forme de chaîne d’un nombre. String ou (U)Int* ou Float*
  • default — Facultatif. Valeur par défaut à renvoyer si l’analyse échoue. Int256
Valeur renvoyée Renvoie une valeur de type Int256 en cas de réussite ; sinon, renvoie la valeur par défaut si elle est fournie, ou 0 dans le cas contraire. Int256 Exemples Conversion réussie
Query
SELECT toInt256OrDefault('-256', CAST('-1', 'Int256'))
Response
-256
Échec de la conversion
Query
SELECT toInt256OrDefault('abc', CAST('-1', 'Int256'))
Response
-1

toInt256OrNull

Introduit dans : v20.8.0 Comme toInt256, cette fonction convertit une valeur d’entrée en une valeur de type Int256, mais renvoie NULL en cas d’erreur. Arguments pris en charge :
  • Représentations sous forme de chaîne de caractères de (U)Int*.
Arguments non pris en charge (renvoient NULL) :
  • Représentations sous forme de chaîne de caractères de valeurs Float*, y compris NaN et Inf.
  • Représentations sous forme de chaîne de caractères de valeurs binaires et hexadécimales, par exemple SELECT toInt256OrNull('0xc0fe');.
Si la valeur d’entrée ne peut pas être représentée dans les limites de Int256, un dépassement de capacité ou un sous-dépassement du résultat se produit. Cela n’est pas considéré comme une erreur.
Voir aussi : Syntaxe
toInt256OrNull(x)
Arguments
  • x — Une représentation sous forme de chaîne d’un nombre. String
Valeur renvoyée Renvoie une valeur de type Int256, ou NULL si la conversion échoue. Int256 ou NULL Exemples Exemple d’utilisation
Query
SELECT
    toInt256OrNull('-256'),
    toInt256OrNull('abc')
FORMAT Vertical
Response
Row 1:
──────
toInt256OrNull('-256'): -256
toInt256OrNull('abc'):  \N

toInt256OrZero

Introduit dans : v20.8.0 Convertit une valeur d’entrée en Int256, mais renvoie 0 en cas d’erreur. Comme toInt256, mais renvoie 0 au lieu de lever une exception. Voir aussi : Syntaxe
toInt256OrZero(x)
Arguments Valeur renvoyée Renvoie la valeur d’entrée convertie, ou 0 si la conversion échoue. Int256 Exemples Exemple d’utilisation
Query
SELECT toInt256OrZero('123')
Response
123
Renvoie zéro en cas d’échec de la conversion
Query
SELECT toInt256OrZero('abc')
Response
0

toInt32

Introduit dans : v1.1.0 Convertit une valeur d’entrée en valeur de type Int32. Lève une exception en cas d’erreur. Arguments pris en charge :
  • Valeurs ou représentations sous forme de chaîne de type (U)Int*.
  • Valeurs de type Float*.
Arguments non pris en charge :
  • Représentations sous forme de chaîne de valeurs Float*, y compris NaN et Inf.
  • Représentations sous forme de chaîne de valeurs binaires et hexadécimales, par exemple SELECT toInt32('0xc0fe');.
Si la valeur d’entrée ne peut pas être représentée dans les limites de Int32, le résultat déborde, par excès ou par défaut. Cela n’est pas considéré comme une erreur. Par exemple : SELECT toInt32(2147483648) == -2147483648;
La fonction utilise l’arrondi vers zéro, ce qui signifie qu’elle tronque la partie fractionnaire des nombres.
Voir aussi : Syntaxe
toInt32(expr)
Arguments
  • expr — Expression renvoyant un nombre ou la représentation sous forme de chaîne d’un nombre. Expression
Valeur renvoyée Renvoie une valeur entière sur 32 bits. Int32 Exemples Exemple d’utilisation
Query
SELECT
    toInt32(-32),
    toInt32(-32.32),
    toInt32('-32')
FORMAT Vertical
Response
Row 1:
──────
toInt32(-32):    -32
toInt32(-32.32): -32
toInt32('-32'):  -32

toInt32OrDefault

Introduit dans : v21.11.0 Comme toInt32, cette fonction convertit une valeur d’entrée en valeur de type Int32, mais renvoie la valeur par défaut en cas d’erreur. Si aucune valeur default n’est fournie, 0 est renvoyé en cas d’erreur. Syntaxe
toInt32OrDefault(expr[, default])
Arguments
  • expr — Expression renvoyant un nombre ou la représentation sous forme de chaîne d’un nombre. String ou (U)Int* ou Float*
  • default — Facultatif. Valeur par défaut à renvoyer si l’analyse échoue. Int32
Valeur renvoyée Renvoie une valeur de type Int32 en cas de réussite ; sinon, renvoie la valeur par défaut si elle est fournie, ou 0 dans le cas contraire. Int32 Exemples Conversion réussie
Query
SELECT toInt32OrDefault('-32', CAST('-1', 'Int32'))
Response
-32
Échec de conversion
Query
SELECT toInt32OrDefault('abc', CAST('-1', 'Int32'))
Response
-1

toInt32OrNull

Introduit dans : v1.1.0 Comme toInt32, cette fonction convertit une valeur d’entrée en une valeur de type Int32, mais renvoie NULL en cas d’erreur. Arguments pris en charge :
  • représentation sous forme de chaîne de caractères de (U)Int*.
Arguments non pris en charge (renvoient NULL) :
  • représentation sous forme de chaîne de caractères de valeurs Float*, y compris NaN et Inf.
  • représentation sous forme de chaîne de caractères de valeurs binaires et hexadécimales, par exemple SELECT toInt32OrNull('0xc0fe');.
Si la valeur d’entrée ne peut pas être représentée dans les limites de Int32, un dépassement de capacité du résultat, par excès ou par défaut, se produit. Cela n’est pas considéré comme une erreur.
Voir aussi : Syntaxe
toInt32OrNull(x)
Arguments
  • x — Une représentation sous forme de chaîne d’un nombre. String
Valeur renvoyée Renvoie une valeur de type Int32, ou NULL si la conversion échoue. Int32 ou NULL Exemples Exemple d’utilisation
Query
SELECT
    toInt32OrNull('-32'),
    toInt32OrNull('abc')
FORMAT Vertical
Response
Row 1:
──────
toInt32OrNull('-32'): -32
toInt32OrNull('abc'): \N

toInt32OrZero

Introduit dans : v1.1.0 Comme toInt32, cette fonction convertit une valeur en entrée en une valeur de type Int32, mais renvoie 0 en cas d’erreur. Arguments pris en charge :
  • Représentations sous forme de chaîne de caractères de (U)Int*.
Arguments non pris en charge (renvoient 0) :
  • Représentations sous forme de chaîne de caractères de valeurs Float*, y compris NaN et Inf.
  • Représentations sous forme de chaîne de caractères de valeurs binaires et hexadécimales, par exemple SELECT toInt32OrZero('0xc0fe');.
Si la valeur en entrée ne peut pas être représentée dans les limites de Int32, un dépassement de capacité du résultat, par excès ou par défaut, se produit. Cela n’est pas considéré comme une erreur.
Voir aussi : Syntaxe
toInt32OrZero(x)
Arguments
  • x — Une représentation sous forme de chaîne de caractères d’un nombre. String
Valeur renvoyée Renvoie une valeur de type Int32, ou 0 si la conversion échoue. Int32 Exemples Exemple d’utilisation
Query
SELECT
    toInt32OrZero('32'),
    toInt32OrZero('abc')
FORMAT Vertical
Response
Row 1:
──────
toInt32OrZero('32'): 32
toInt32OrZero('abc'): 0

toInt64

Introduit dans : v1.1.0 Convertit une valeur d’entrée en une valeur de type Int64. Lève une exception en cas d’erreur. Arguments pris en charge :
  • Valeurs ou représentation sous forme de chaîne de caractères de type (U)Int*.
  • Valeurs de type Float*.
Arguments non pris en charge :
  • représentation sous forme de chaîne de caractères de valeurs Float*, y compris NaN et Inf.
  • représentation sous forme de chaîne de caractères de valeurs binaires et hexadécimales, par exemple SELECT toInt64('0xc0fe');.
Si la valeur d’entrée ne peut pas être représentée dans les limites de Int64, le résultat déborde. Cela n’est pas considéré comme une erreur. Par exemple : SELECT toInt64(9223372036854775808) == -9223372036854775808;
La fonction utilise l’arrondi vers zéro, ce qui signifie qu’elle tronque la partie fractionnaire des nombres.
Voir aussi : Syntaxe
toInt64(expr)
Arguments
  • expr — Expression renvoyant un nombre ou une représentation sous forme de chaîne d’un nombre. Pris en charge : valeurs ou représentation sous forme de chaîne de caractères de type (U)Int*, valeurs de type Float*. Non pris en charge : représentation sous forme de chaîne de caractères de valeurs Float*, y compris NaN et Inf, représentation sous forme de chaîne de caractères de valeurs binaires et hexadécimales. Expression
Valeur renvoyée Renvoie une valeur entière sur 64 bits. Int64 Exemples Exemple d’utilisation
Query
SELECT
    toInt64(-64),
    toInt64(-64.64),
    toInt64('-64')
FORMAT Vertical
Response
Row 1:
──────
toInt64(-64):    -64
toInt64(-64.64): -64
toInt64('-64'):  -64

toInt64OrDefault

Introduit dans : v21.11.0 Comme toInt64, cette fonction convertit une valeur d’entrée en une valeur de type Int64, mais renvoie la valeur par défaut en cas d’erreur. Si aucune valeur default n’est fournie, 0 est renvoyé en cas d’erreur. Syntaxe
toInt64OrDefault(expr[, default])
Arguments
  • expr — Expression renvoyant un nombre ou la représentation sous forme de chaîne d’un nombre. String ou (U)Int* ou Float*
  • default — Facultatif. La valeur par défaut à renvoyer si l’analyse échoue. Int64
Valeur renvoyée Renvoie une valeur de type Int64 en cas de succès ; sinon, renvoie la valeur par défaut si elle est fournie, ou 0 dans le cas contraire. Int64 Exemples Conversion réussie
Query
SELECT toInt64OrDefault('-64', CAST('-1', 'Int64'))
Response
-64
Échec de conversion
Query
SELECT toInt64OrDefault('abc', CAST('-1', 'Int64'))
Response
-1

toInt64OrNull

Introduit dans : v1.1.0 Comme toInt64, cette fonction convertit une valeur d’entrée en une valeur de type Int64, mais renvoie NULL en cas d’erreur. Arguments pris en charge :
  • Représentations sous forme de chaîne de (U)Int*.
Arguments non pris en charge (renvoient NULL) :
  • Représentations sous forme de chaîne de valeurs Float*, y compris NaN et Inf.
  • Représentations sous forme de chaîne de valeurs binaires et hexadécimales, par exemple SELECT toInt64OrNull('0xc0fe');.
Si la valeur d’entrée ne peut pas être représentée dans les limites de Int64, un dépassement de capacité ou sous-dépassement du résultat se produit. Cela n’est pas considéré comme une erreur.
Voir aussi : Syntaxe
toInt64OrNull(x)
Arguments
  • x — La représentation sous forme de chaîne d’un nombre. String
Valeur renvoyée Renvoie une valeur de type Int64, ou NULL si la conversion échoue. Int64 ou NULL Exemples Exemple d’utilisation
Query
SELECT
    toInt64OrNull('-64'),
    toInt64OrNull('abc')
FORMAT Vertical
Response
Row 1:
──────
toInt64OrNull('-64'): -64
toInt64OrNull('abc'): \N

toInt64OrZero

Introduit dans : v1.1.0 Convertit une valeur d’entrée en Int64, mais renvoie 0 en cas d’erreur. Comme toInt64, mais renvoie 0 au lieu de générer une exception. Voir aussi : Syntaxe
toInt64OrZero(x)
Arguments Valeur renvoyée Renvoie la valeur d’entrée convertie, ou 0 si la conversion échoue. Int64 Exemples Exemple d’utilisation
Query
SELECT toInt64OrZero('123')
Response
123
En cas d’échec de la conversion, zéro est renvoyé
Query
SELECT toInt64OrZero('abc')
Response
0

toInt8

Introduit dans : v1.1.0 Convertit une valeur d’entrée en une valeur de type Int8. Déclenche une exception en cas d’erreur. Arguments pris en charge :
  • Valeurs ou représentations sous forme de chaîne de type (U)Int*.
  • Valeurs de type Float*.
Arguments non pris en charge :
  • Représentations sous forme de chaîne de valeurs Float*, y compris NaN et Inf.
  • Représentations sous forme de chaîne de valeurs binaires et hexadécimales, par ex. SELECT toInt8('0xc0fe');.
Si la valeur d’entrée ne peut pas être représentée dans l’intervalle de Int8, le résultat subit un dépassement de capacité ou sous-dépassement. Cela n’est pas considéré comme une erreur. Par exemple : SELECT toInt8(128) == -128;.
La fonction utilise l’arrondi vers zéro, ce qui signifie qu’elle tronque la partie fractionnaire des nombres.
Voir aussi : Syntaxe
toInt8(expr)
Arguments
  • expr — Expression renvoyant un nombre ou la représentation sous forme de chaîne d’un nombre. Expression
Valeur renvoyée Renvoie une valeur entière signée sur 8 bits. Int8 Exemples Exemple d’utilisation
Query
SELECT
    toInt8(-8),
    toInt8(-8.8),
    toInt8('-8')
FORMAT Vertical
Response
Row 1:
──────
toInt8(-8):   -8
toInt8(-8.8): -8
toInt8('-8'): -8

toInt8OrDefault

Introduit dans : v21.11.0 Comme toInt8, cette fonction convertit une valeur d’entrée en une valeur de type Int8, mais renvoie la valeur par défaut en cas d’erreur. Si aucune valeur default n’est fournie, 0 est renvoyé en cas d’erreur. Syntaxe
toInt8OrDefault(expr[, default])
Arguments
  • expr — Expression qui renvoie un nombre ou la représentation sous forme de chaîne d’un nombre. String ou (U)Int* ou Float*
  • default — Facultatif. Valeur par défaut à renvoyer si l’analyse échoue. Int8
Valeur renvoyée Renvoie une valeur de type Int8 en cas de réussite ; sinon, renvoie la valeur par défaut si elle est fournie, ou 0 dans le cas contraire. Int8 Exemples Conversion réussie
Query
SELECT toInt8OrDefault('-8', CAST('-1', 'Int8'))
Response
-8
Conversion échouée
Query
SELECT toInt8OrDefault('abc', CAST('-1', 'Int8'))
Response
-1

toInt8OrNull

Introduit dans : v1.1.0 Comme toInt8, cette fonction convertit une valeur d’entrée en une valeur de type Int8, mais renvoie NULL en cas d’erreur. Arguments pris en charge :
  • Représentations sous forme de chaîne de (U)Int*.
Arguments non pris en charge (renvoient NULL) :
  • Représentations sous forme de chaîne de valeurs Float*, y compris NaN et Inf.
  • Représentations sous forme de chaîne de valeurs binaires et hexadécimales, par exemple SELECT toInt8OrNull('0xc0fe');.
Si la valeur d’entrée ne peut pas être représentée dans les limites de Int8, il se produit un dépassement de capacité ou sous-dépassement. Cela n’est pas considéré comme une erreur.
Voir aussi : Syntaxe
toInt8OrNull(x)
Arguments
  • x — Une représentation sous forme de chaîne d’un nombre. String
Valeur renvoyée Renvoie une valeur de type Int8, ou NULL si la conversion échoue. Int8 ou NULL Exemples Exemple d’utilisation
Query
SELECT
    toInt8OrNull('-8'),
    toInt8OrNull('abc')
FORMAT Vertical
Response
Row 1:
──────
toInt8OrNull('-8'):  -8
toInt8OrNull('abc'): \N

toInt8OrZero

Introduit dans : v1.1.0 Comme toInt8, cette fonction convertit une valeur d’entrée en une valeur de type Int8, mais renvoie 0 en cas d’erreur. Arguments pris en charge :
  • Représentations sous forme de chaîne de (U)Int*.
Arguments non pris en charge (renvoient 0) :
  • Représentations sous forme de chaîne de valeurs Float*, y compris NaN et Inf.
  • Représentations sous forme de chaîne de valeurs binaires et hexadécimales, par exemple SELECT toInt8OrZero('0xc0fe');.
Si la valeur d’entrée ne peut pas être représentée dans les limites de Int8, un dépassement de capacité ou sous-dépassement du résultat se produit. Cela n’est pas considéré comme une erreur.
Voir aussi : Syntaxe
toInt8OrZero(x)
Arguments
  • x — Une représentation sous forme de chaîne d’un nombre. String
Valeur renvoyée Renvoie une valeur de type Int8, sinon 0 si la conversion échoue. Int8 Exemples Exemple d’utilisation
Query
SELECT
    toInt8OrZero('8'),
    toInt8OrZero('abc')
FORMAT Vertical
Response
Row 1:
──────
toInt8OrZero('8'): 8
toInt8OrZero('abc'): 0

toInterval

Introduit dans : v25.4.0 Crée une valeur Interval à partir d’une valeur numérique et d’une chaîne représentant l’unité. Cette fonction offre un moyen unifié de créer des intervalles de différents types (secondes, minutes, heures, jours, semaines, mois, trimestres, années) à l’aide d’une seule fonction, en spécifiant l’unité sous forme d’argument String. La chaîne d’unité est insensible à la casse. Cela équivaut à appeler des fonctions spécifiques à chaque type, comme toIntervalSecond, toIntervalMinute, toIntervalDay, etc., mais permet de spécifier l’unité dynamiquement sous forme de paramètre de chaîne. Syntaxe
toInterval(value, unit)
Arguments
  • value — La valeur numérique représentant le nombre d’unités. Peut être de n’importe quel type numérique. Int8 ou Int16 ou Int32 ou Int64 ou UInt8 ou UInt16 ou UInt32 ou UInt64 ou Float32 ou Float64
  • unit — L’unité de temps. Doit être une chaîne constante. Valeurs valides : ‘nanosecond’, ‘microsecond’, ‘millisecond’, ‘second’, ‘minute’, ‘hour’, ‘day’, ‘week’, ‘month’, ‘quarter’, ‘year’. String
Valeur renvoyée Renvoie une valeur Interval du type spécifié. Le type de résultat dépend de l’unité : IntervalNanosecond, IntervalMicrosecond, IntervalMillisecond, IntervalSecond, IntervalMinute, IntervalHour, IntervalDay, IntervalWeek, IntervalMonth, IntervalQuarter ou IntervalYear. Interval Exemples Créer des intervalles avec des unités différentes
Query
SELECT
    toInterval(5, 'second') AS seconds,
    toInterval(3, 'day') AS days,
    toInterval(2, 'month') AS months
Response
┌─seconds─┬─days─┬─months─┐
│ 5       │ 3    │ 2      │
└─────────┴──────┴────────┘
Utiliser des intervalles dans les calculs sur les dates
Query
SELECT
    now() AS current_time,
    now() + toInterval(1, 'hour') AS one_hour_later,
    now() - toInterval(7, 'day') AS week_ago
Response
┌─────────current_time─┬──one_hour_later─────┬────────────week_ago─┐
│ 2025-01-04 10:30:00  │ 2025-01-04 11:30:00 │ 2024-12-28 10:30:00 │
└──────────────────────┴─────────────────────┴─────────────────────┘
Création dynamique d’intervalles
Query
SELECT toDate('2025-01-01') + toInterval(number, 'day') AS dates
FROM numbers(5)
Response
┌──────dates─┐
│ 2025-01-01 │
│ 2025-01-02 │
│ 2025-01-03 │
│ 2025-01-04 │
│ 2025-01-05 │
└────────────┘

toIntervalDay

Introduit dans : v1.1.0 Renvoie un intervalle de n jours, de type de données IntervalDay. Syntaxe
toIntervalDay(n)
Arguments
  • n — Nombre de jours. Nombres entiers ou leur représentation sous forme de chaîne, ainsi que les nombres à virgule flottante. (U)Int* ou Float* ou String
Valeur renvoyée Renvoie un intervalle de n jours. Interval Exemples Exemple d’utilisation
Query
WITH
    toDate('2025-06-15') AS date,
    toIntervalDay(5) AS interval_to_days
SELECT date + interval_to_days AS result
Response
┌─────result─┐
│ 2025-06-20 │
└────────────┘

toIntervalHour

Introduit dans : v1.1.0 Renvoie un intervalle de n heures, de type IntervalHour. Syntaxe
toIntervalHour(n)
Arguments
  • n — Nombre d’heures. Nombres entiers ou leur représentation sous forme de chaîne, ainsi que nombres à virgule flottante. Int* or UInt* or Float* or String
Valeur renvoyée Renvoie un intervalle de n heures. Interval Exemples Exemple d’utilisation
Query
WITH
    toDate('2025-06-15') AS date,
    toIntervalHour(12) AS interval_to_hours
SELECT date + interval_to_hours AS result
Response
┌──────────────result─┐
│ 2025-06-15 12:00:00 │
└─────────────────────┘

toIntervalMicrosecond

Introduit dans : v22.6.0 Renvoie un intervalle de n microsecondes, de type de données IntervalMicrosecond. Syntaxe
toIntervalMicrosecond(n)
Arguments Valeur renvoyée Renvoie un intervalle de n microsecondes. Interval Exemples Exemple d’utilisation
Query
WITH
    toDateTime('2025-06-15') AS date,
    toIntervalMicrosecond(30) AS interval_to_microseconds
SELECT date + interval_to_microseconds AS result
Response
┌─────────────────────result─┐
│ 2025-06-15 00:00:00.000030 │
└────────────────────────────┘

toIntervalMillisecond

Introduit dans : v22.6.0 Renvoie un intervalle de n millisecondes du type de données IntervalMillisecond. Syntaxe
toIntervalMillisecond(n)
Arguments Valeur renvoyée Renvoie un intervalle de n millisecondes. Interval Exemples Exemple d’utilisation
Query
WITH
    toDateTime('2025-06-15') AS date,
    toIntervalMillisecond(30) AS interval_to_milliseconds
SELECT date + interval_to_milliseconds AS result
Response
┌──────────────────result─┐
│ 2025-06-15 00:00:00.030 │
└─────────────────────────┘

toIntervalMinute

Introduit dans : v1.1.0 Renvoie un intervalle de n minutes du type de données IntervalMinute. Syntaxe
toIntervalMinute(n)
Arguments
  • n — Nombre de minutes. Nombres entiers ou leurs représentations sous forme de chaînes, ainsi que nombres à virgule flottante. (U)Int* ou Float* ou String
Valeur renvoyée Renvoie un intervalle de n minutes. Interval Exemples Exemple d’utilisation
Query
WITH
    toDate('2025-06-15') AS date,
    toIntervalMinute(12) AS interval_to_minutes
SELECT date + interval_to_minutes AS result
Response
┌──────────────result─┐
│ 2025-06-15 00:12:00 │
└─────────────────────┘

toIntervalMonth

Introduit dans : v1.1.0 Renvoie un intervalle de n mois, de type de données IntervalMonth. Syntaxe
toIntervalMonth(n)
Arguments Valeur renvoyée Renvoie un intervalle de n mois. Interval Exemples Exemple d’utilisation
Query
WITH
    toDate('2025-06-15') AS date,
    toIntervalMonth(1) AS interval_to_month
SELECT date + interval_to_month AS result
Response
┌─────result─┐
│ 2025-07-15 │
└────────────┘

toIntervalNanosecond

Introduit dans : v22.6.0 Renvoie un intervalle de n nanosecondes, de type de données IntervalNanosecond. Syntaxe
toIntervalNanosecond(n)
Arguments Valeur renvoyée Renvoie un intervalle de n nanosecondes. Interval Exemples Exemple d’utilisation
Query
WITH
    toDateTime('2025-06-15') AS date,
    toIntervalNanosecond(30) AS interval_to_nanoseconds
SELECT date + interval_to_nanoseconds AS result
Response
┌────────────────────────result─┐
│ 2025-06-15 00:00:00.000000030 │
└───────────────────────────────┘

toIntervalQuarter

Introduit dans : v1.1.0 Renvoie un intervalle de n trimestres, de type de données IntervalQuarter. Syntaxe
toIntervalQuarter(n)
Arguments Valeur renvoyée Renvoie un intervalle de n trimestres. Interval Exemples Exemple d’utilisation
Query
WITH
    toDate('2025-06-15') AS date,
    toIntervalQuarter(1) AS interval_to_quarter
SELECT date + interval_to_quarter AS result
Response
┌─────result─┐
│ 2025-09-15 │
└────────────┘

toIntervalSecond

Introduit dans : v1.1.0 Renvoie un intervalle de n secondes du type de données IntervalSecond. Syntaxe
toIntervalSecond(n)
Arguments
  • n — Nombre de secondes. Nombres entiers ou leurs représentations sous forme de chaîne, ainsi que nombres à virgule flottante. (U)Int* ou Float* ou String
Valeur renvoyée Renvoie un intervalle de n secondes. Interval Exemples Exemple d’utilisation
Query
WITH
    toDate('2025-06-15') AS date,
    toIntervalSecond(30) AS interval_to_seconds
SELECT date + interval_to_seconds AS result
Response
┌──────────────result─┐
│ 2025-06-15 00:00:30 │
└─────────────────────┘

toIntervalWeek

Introduit dans : v1.1.0 Renvoie un intervalle de n semaines de type de données IntervalWeek. Syntaxe
toIntervalWeek(n)
Arguments Valeur renvoyée Renvoie un intervalle de n semaines. Interval Exemples Exemple d’utilisation
Query
WITH
    toDate('2025-06-15') AS date,
    toIntervalWeek(1) AS interval_to_week
SELECT date + interval_to_week AS result
Response
┌─────result─┐
│ 2025-06-22 │
└────────────┘

toIntervalYear

Introduit dans : v1.1.0 Renvoie un intervalle de n ans de type de données IntervalYear. Syntaxe
toIntervalYear(n)
Arguments Valeur renvoyée Renvoie un intervalle de n ans. Interval Exemples Exemple d’utilisation
Query
WITH
    toDate('2024-06-15') AS date,
    toIntervalYear(1) AS interval_to_year
SELECT date + interval_to_year AS result
Response
┌─────result─┐
│ 2025-06-15 │
└────────────┘

toLowCardinality

Introduit dans : v18.12.0 Convertit l’argument d’entrée en une version LowCardinality du même type de données.
Pour convertir le type de données LowCardinality en type de données classique, utilisez la fonction CAST. Par exemple : CAST(x AS String).
Syntaxe
toLowCardinality(expr)
Arguments Valeur renvoyée Renvoie la valeur d’entrée convertie en type de données LowCardinality. LowCardinality Exemples Exemple d’utilisation
Query
SELECT toLowCardinality('1')
Response
┌─toLowCardinality('1')─┐
│ 1                     │
└───────────────────────┘

toString

Introduit dans : v1.1.0 Convertit des valeurs en représentation sous forme de chaîne. Pour les arguments DateTime, la fonction peut accepter un second argument String contenant le nom du fuseau horaire. Syntaxe
toString(value[, timezone])
Arguments
  • value — Valeur à convertir en chaîne de caractères. Any
  • timezone — Facultatif. Nom du fuseau horaire pour la conversion de DateTime. String
Valeur renvoyée Renvoie une représentation sous forme de chaîne de caractères de la valeur d’entrée. String Exemples Exemple d’utilisation
Query
SELECT
    now() AS ts,
    time_zone,
    toString(ts, time_zone) AS str_tz_datetime
FROM system.time_zones
WHERE time_zone LIKE 'Europe%'
LIMIT 10
Response
┌──────────────────ts─┬─time_zone─────────┬─str_tz_datetime─────┐
│ 2023-09-08 19:14:59 │ Europe/Amsterdam  │ 2023-09-08 21:14:59 │
│ 2023-09-08 19:14:59 │ Europe/Andorra    │ 2023-09-08 21:14:59 │
│ 2023-09-08 19:14:59 │ Europe/Astrakhan  │ 2023-09-08 23:14:59 │
│ 2023-09-08 19:14:59 │ Europe/Athens     │ 2023-09-08 22:14:59 │
│ 2023-09-08 19:14:59 │ Europe/Belfast    │ 2023-09-08 20:14:59 │
└─────────────────────┴───────────────────┴─────────────────────┘

toStringCutToZero

Introduit dans : v1.1.0 Accepte un argument String ou FixedString et renvoie une String contenant une copie de la chaîne d’origine tronquée au premier octet nul. Les octets nuls (\0) sont considérés comme des terminateurs de chaîne. Cette fonction est utile pour traiter des chaînes au format C ou des données binaires, où les octets nuls marquent la fin du contenu significatif. Syntaxe
toStringCutToZero(s)
Arguments Valeur renvoyée Renvoie une String contenant les caractères qui précèdent le premier octet nul. String Exemples Exemple d’utilisation
Query
SELECT
    toStringCutToZero('hello'),
    toStringCutToZero('hello\0world')
Response
┌─toStringCutToZero('hello')─┬─toStringCutToZero('hello\\0world')─┐
│ hello                      │ hello                             │
└────────────────────────────┴───────────────────────────────────┘

toTime

Introduit dans : v1.1.0 Convertit une valeur d’entrée au type Time. Prend en charge la conversion à partir de String, FixedString, DateTime ou de types numériques représentant le nombre de secondes écoulées depuis minuit. Syntaxe
toTime(x)
Arguments Valeur renvoyée Renvoie la valeur convertie. Time Exemples Conversion de String en Time
Query
SELECT toTime('14:30:25')
Response
14:30:25
Conversion de DateTime en Time
Query
SELECT toTime(toDateTime('2025-04-15 14:30:25'))
Response
14:30:25
Conversion d’un entier en Time
Query
SELECT toTime(52225)
Response
14:30:25

toTime64

introduit dans : v25.6.0 Convertit une valeur d’entrée en Time64. Prend en charge la conversion depuis String, FixedString, DateTime64 ou des types numériques représentant des microsecondes écoulées depuis minuit. Offre une précision à la microseconde pour les valeurs temporelles. Syntaxe
toTime64(x)
Arguments Valeur renvoyée Renvoie la valeur d’entrée convertie avec une précision à la microseconde. Time64(6) Exemples Conversion de String en Time64
Query
SELECT toTime64('14:30:25.123456')
Response
14:30:25.123456
Conversion de DateTime64 en Time64
Query
SELECT toTime64(toDateTime64('2025-04-15 14:30:25.123456', 6))
Response
14:30:25.123456
Conversion d’un entier en Time64
Query
SELECT toTime64(52225123456)
Response
14:30:25.123456

toTime64OrNull

Introduit dans : v25.6.0 Convertit une valeur d’entrée en valeur de type Time64, mais renvoie NULL en cas d’erreur. Comme toTime64, mais renvoie NULL au lieu de lever une exception en cas d’erreur de conversion. Voir aussi : Syntaxe
toTime64OrNull(x)
Arguments
  • x — Une représentation sous forme de chaîne d’une heure avec une précision à la sous-seconde. String
Valeur renvoyée Renvoie une valeur Time64 en cas de succès, sinon NULL. Time64 ou NULL Exemples Exemple d’utilisation
Query
SELECT toTime64OrNull('12:30:45.123'), toTime64OrNull('invalid')
Response
┌─toTime64OrNull('12:30:45.123')─┬─toTime64OrNull('invalid')─┐
│                   12:30:45.123 │                      ᴺᵁᴸᴸ │
└────────────────────────────────┴───────────────────────────┘

toTime64OrZero

Introduit dans : v25.6.0 Convertit une valeur d’entrée en une valeur de type Time64, mais renvoie 00:00:00.000 en cas d’erreur. Comme toTime64, mais renvoie 00:00:00.000 au lieu de lever une exception lors d’une erreur de conversion. Syntaxe
toTime64OrZero(x)
Arguments
  • x — Une représentation sous forme de chaîne d’une heure avec une précision à la sous-seconde. String
Valeur renvoyée Renvoie une valeur Time64 en cas de réussite, sinon 00:00:00.000. Time64 Exemples Exemple d’utilisation
Query
SELECT toTime64OrZero('12:30:45.123'), toTime64OrZero('invalid')
Response
┌─toTime64OrZero('12:30:45.123')─┬─toTime64OrZero('invalid')─┐
│                   12:30:45.123 │             00:00:00.000 │
└────────────────────────────────┴──────────────────────────┘

toTimeOrNull

Introduit dans : v1.1.0 Convertit une valeur d’entrée en une valeur de type Time, mais renvoie NULL en cas d’erreur. Comme toTime, mais renvoie NULL au lieu de lever une exception en cas d’erreur de conversion. Voir aussi : Syntaxe
toTimeOrNull(x)
Arguments
  • x — Représentation sous forme de chaîne d’une heure. String
Valeur renvoyée Renvoie une valeur Time en cas de succès, sinon NULL. Time ou NULL Exemples Exemple d’utilisation
Query
SELECT toTimeOrNull('12:30:45'), toTimeOrNull('invalid')
Response
┌─toTimeOrNull('12:30:45')─┬─toTimeOrNull('invalid')─┐
│                 12:30:45 │                    ᴺᵁᴸᴸ │
└──────────────────────────┴─────────────────────────┘

toTimeOrZero

Introduit dans : v1.1.0 Convertit une valeur d’entrée en une valeur de type Time, mais renvoie 00:00:00 en cas d’erreur. Comme toTime, mais renvoie 00:00:00 au lieu de générer une exception en cas d’erreur de conversion. Syntaxe
toTimeOrZero(x)
Arguments
  • x — Une représentation sous forme de chaîne d’une heure. String
Valeur renvoyée Renvoie une valeur Time en cas de réussite, sinon 00:00:00. Time Exemples Exemple d’utilisation
Query
SELECT toTimeOrZero('12:30:45'), toTimeOrZero('invalid')
Response
┌─toTimeOrZero('12:30:45')─┬─toTimeOrZero('invalid')─┐
│                 12:30:45 │                00:00:00 │
└──────────────────────────┴─────────────────────────┘

toUInt128

Introduit dans : v1.1.0 Convertit une valeur d’entrée en une valeur de type UInt128. Lève une exception en cas d’erreur. La fonction utilise l’arrondi vers zéro, c’est-à-dire qu’elle tronque les chiffres après la virgule. Arguments pris en charge :
  • Valeurs ou représentations sous forme de chaîne de type (U)Int*.
  • Valeurs de type Float*.
Arguments non pris en charge :
  • Représentations sous forme de chaîne de valeurs Float*, y compris NaN et Inf.
  • Représentations sous forme de chaîne de valeurs binaires et hexadécimales, par ex. SELECT toUInt128('0xc0fe');.
Si la valeur d’entrée ne peut pas être représentée dans la plage de UInt128, le résultat produit un dépassement de capacité supérieur ou inférieur. Cela n’est pas considéré comme une erreur.
Voir aussi : Syntaxe
toUInt128(expr)
Arguments
  • expr — Expression renvoyant un nombre ou sa représentation sous forme de chaîne. Expression
Valeur renvoyée Renvoie une valeur entière non signée de 128 bits. UInt128 Exemples Exemple d’utilisation
Query
SELECT
    toUInt128(128),
    toUInt128(128.8),
    toUInt128('128')
FORMAT Vertical
Response
Row 1:
──────
toUInt128(128):   128
toUInt128(128.8): 128
toUInt128('128'): 128

toUInt128OrDefault

Introduit dans : v21.11.0 Comme toUInt128, cette fonction convertit une valeur d’entrée en une valeur de type UInt128, mais renvoie la valeur par défaut en cas d’erreur. Si aucune valeur default n’est fournie, 0 est renvoyé en cas d’erreur. Syntaxe
toUInt128OrDefault(expr[, default])
Arguments
  • expr — Expression renvoyant un nombre ou une représentation textuelle d’un nombre. String ou (U)Int* ou Float*
  • default — Facultatif. Valeur par défaut à renvoyer si l’analyse échoue. UInt128
Valeur renvoyée Renvoie une valeur de type UInt128 en cas de succès ; sinon, renvoie la valeur par défaut si elle est fournie, ou 0 dans le cas contraire. UInt128 Exemples Conversion réussie
Query
SELECT toUInt128OrDefault('128', CAST('0', 'UInt128'))
Response
128
Échec de la conversion
Query
SELECT toUInt128OrDefault('abc', CAST('0', 'UInt128'))
Response
0

toUInt128OrNull

Introduit dans : v21.6.0 Comme toUInt128, cette fonction convertit une valeur d’entrée en valeur de type UInt128, mais renvoie NULL en cas d’erreur. Arguments pris en charge :
  • Représentations sous forme de chaîne de (U)Int*.
Arguments non pris en charge (renvoient NULL) :
  • Représentations sous forme de chaîne de valeurs Float*, y compris NaN et Inf.
  • Représentations sous forme de chaîne de valeurs binaires et hexadécimales, par exemple SELECT toUInt128OrNull('0xc0fe');.
Si la valeur d’entrée ne peut pas être représentée dans les limites de UInt128, un dépassement de capacité (overflow ou underflow) du résultat se produit. Cela n’est pas considéré comme une erreur.
Voir aussi : Syntaxe
toUInt128OrNull(x)
Arguments
  • x — Une représentation sous forme de chaîne d’un nombre. String
Valeur renvoyée Renvoie une valeur de type UInt128, ou NULL si la conversion échoue. UInt128 ou NULL Exemples Exemple d’utilisation
Query
SELECT
    toUInt128OrNull('128'),
    toUInt128OrNull('abc')
FORMAT Vertical
Response
Row 1:
──────
toUInt128OrNull('128'): 128
toUInt128OrNull('abc'): \N

toUInt128OrZero

Introduit dans : v1.1.0 Comme toUInt128, cette fonction convertit une valeur d’entrée en une valeur de type UInt128, mais renvoie 0 en cas d’erreur. Arguments pris en charge :
  • Représentations sous forme de chaîne de caractères de (U)Int*.
Arguments non pris en charge (renvoient 0) :
  • Représentations sous forme de chaîne de caractères de valeurs Float*, y compris NaN et Inf.
  • Représentations sous forme de chaîne de caractères de valeurs binaires et hexadécimales, par exemple SELECT toUInt128OrZero('0xc0fe');.
Si la valeur d’entrée ne peut pas être représentée dans les limites de UInt128, un dépassement de capacité du résultat se produit. Cela n’est pas considéré comme une erreur.
Voir aussi : Syntaxe
toUInt128OrZero(x)
Arguments
  • x — Une représentation sous forme de chaîne de caractères d’un nombre. String
Valeur renvoyée Renvoie une valeur de type UInt128, ou 0 si la conversion échoue. UInt128 Exemples Exemple d’utilisation
Query
SELECT
    toUInt128OrZero('128'),
    toUInt128OrZero('abc')
FORMAT Vertical
Response
Row 1:
──────
toUInt128OrZero('128'): 128
toUInt128OrZero('abc'): 0

toUInt16

Introduit dans : v1.1.0 Convertit une valeur d’entrée en une valeur de type UInt16. Lève une exception en cas d’erreur. Arguments pris en charge :
  • Valeurs ou représentations sous forme de chaîne de type (U)Int*.
  • Valeurs de type Float*.
Arguments non pris en charge :
  • Représentations sous forme de chaîne de valeurs Float*, y compris NaN et Inf.
  • Représentations sous forme de chaîne de valeurs binaires et hexadécimales, par exemple SELECT toUInt16('0xc0fe');.
Si la valeur d’entrée ne peut pas être représentée dans les limites de UInt16, un dépassement de capacité inférieur ou supérieur se produit dans le résultat. Cela n’est pas considéré comme une erreur. Par exemple : SELECT toUInt16(65536) == 0;.
La fonction utilise l’arrondi vers zéro, ce qui signifie qu’elle tronque les chiffres après la virgule.
Voir aussi : Syntaxe
toUInt16(expr)
Arguments
  • expr — Expression renvoyant un nombre ou sa représentation sous forme de chaîne. Expression
Valeur renvoyée Renvoie une valeur entière non signée de 16 bits. UInt16 Exemples Exemple d’utilisation
Query
SELECT
    toUInt16(16),
    toUInt16(16.16),
    toUInt16('16')
FORMAT Vertical
Response
Row 1:
──────
toUInt16(16):    16
toUInt16(16.16): 16
toUInt16('16'):  16

toUInt16OrDefault

Introduit dans : v21.11.0 Comme toUInt16, cette fonction convertit une valeur d’entrée en une valeur de type UInt16, mais renvoie la valeur par défaut en cas d’erreur. Si aucune valeur default n’est fournie, 0 est renvoyé en cas d’erreur. Syntaxe
toUInt16OrDefault(expr[, default])
Arguments
  • expr — Expression renvoyant un nombre ou une représentation d’un nombre sous forme de chaîne. String ou (U)Int* ou Float*
  • default — Facultatif. La valeur par défaut à renvoyer si l’analyse échoue. UInt16
Valeur renvoyée Renvoie une valeur de type UInt16 en cas de succès ; sinon, renvoie la valeur par défaut si elle est fournie, ou 0 dans le cas contraire. UInt16 Exemples Conversion réussie
Query
SELECT toUInt16OrDefault('16', CAST('0', 'UInt16'))
Response
16
Échec de la conversion
Query
SELECT toUInt16OrDefault('abc', CAST('0', 'UInt16'))
Response
0

toUInt16OrNull

Introduit dans : v1.1.0 Comme toUInt16, cette fonction convertit une valeur d’entrée en une valeur de type UInt16, mais renvoie NULL en cas d’erreur. Arguments pris en charge :
  • Représentations sous forme de chaîne de (U)Int8/16/32/128/256.
Arguments non pris en charge (renvoient NULL) :
  • Représentations sous forme de chaîne de valeurs Float*, y compris NaN et Inf.
  • Représentations sous forme de chaîne de valeurs binaires et hexadécimales, par ex. SELECT toUInt16OrNull('0xc0fe');.
Si la valeur d’entrée ne peut pas être représentée dans les limites de UInt16, un dépassement de capacité (overflow ou underflow) se produit dans le résultat. Cela n’est pas considéré comme une erreur.
Voir aussi : Syntaxe
toUInt16OrNull(x)
Arguments
  • x — Représentation sous forme de chaîne d’un nombre. String
Valeur renvoyée Renvoie une valeur de type UInt16, ou NULL si la conversion échoue. UInt16 ou NULL Exemples Exemple d’utilisation
Query
SELECT
    toUInt16OrNull('16'),
    toUInt16OrNull('abc')
FORMAT Vertical
Response
Row 1:
──────
toUInt16OrNull('16'):  16
toUInt16OrNull('abc'): \N

toUInt16OrZero

Introduit dans : v1.1.0 Comme toUInt16, cette fonction convertit une valeur d’entrée en valeur de type UInt16, mais renvoie 0 en cas d’erreur. Arguments pris en charge :
  • Représentations sous forme de chaîne de (U)Int8/16/32/128/256.
Arguments non pris en charge (renvoient 0) :
  • Représentations sous forme de chaîne de valeurs Float*, y compris NaN et Inf.
  • Représentations sous forme de chaîne de valeurs binaires et hexadécimales, par exemple SELECT toUInt16OrZero('0xc0fe');.
Si la valeur d’entrée ne peut pas être représentée dans les limites de UInt16, il se produit un dépassement de capacité par excès ou par défaut du résultat. Cela n’est pas considéré comme une erreur.
Voir aussi : Syntaxe
toUInt16OrZero(x)
Arguments
  • x — Une représentation sous forme de chaîne d’un nombre. String
Valeur de retour Renvoie une valeur de type UInt16, ou 0 si la conversion échoue. UInt16 Exemples Exemple d’utilisation
Query
SELECT
    toUInt16OrZero('16'),
    toUInt16OrZero('abc')
FORMAT Vertical
Response
Row 1:
──────
toUInt16OrZero('16'):  16
toUInt16OrZero('abc'): 0

toUInt256

Introduit dans : v1.1.0 Convertit une valeur d’entrée en valeur de type UInt256. Lève une exception en cas d’erreur. La fonction utilise un arrondi vers zéro, ce qui signifie qu’elle tronque les chiffres après la virgule. Arguments pris en charge :
  • Valeurs ou représentations sous forme de chaîne de type (U)Int*.
  • Valeurs de type Float*.
Arguments non pris en charge :
  • Représentations sous forme de chaîne de valeurs de type Float*, y compris NaN et Inf.
  • Représentations sous forme de chaîne de valeurs binaires et hexadécimales, par exemple SELECT toUInt256('0xc0fe');.
Si la valeur d’entrée ne peut pas être représentée dans les bornes de UInt256, le résultat déborde par excès ou par défaut. Cela n’est pas considéré comme une erreur.
Voir aussi : Syntaxe
toUInt256(expr)
Arguments
  • expr — Expression qui renvoie un nombre ou la représentation sous forme de chaîne d’un nombre. Expression
Valeur renvoyée Renvoie une valeur entière non signée de 256 bits. UInt256 Exemples Exemple d’utilisation
Query
SELECT
    toUInt256(256),
    toUInt256(256.256),
    toUInt256('256')
FORMAT Vertical
Response
Row 1:
──────
toUInt256(256):     256
toUInt256(256.256): 256
toUInt256('256'):   256

toUInt256OrDefault

Introduit dans : v21.11.0 Comme toUInt256, cette fonction convertit une valeur d’entrée en valeur de type UInt256, mais renvoie la valeur par défaut en cas d’erreur. Si aucune valeur default n’est fournie, 0 est renvoyé en cas d’erreur. Syntaxe
toUInt256OrDefault(expr[, default])
Arguments
  • expr — Expression renvoyant un nombre ou la représentation sous forme de chaîne d’un nombre. String ou (U)Int* ou Float*
  • default — Facultatif. Valeur par défaut à renvoyer si l’analyse échoue. UInt256
Valeur renvoyée Renvoie une valeur de type UInt256 en cas de succès ; sinon, renvoie la valeur par défaut si elle est fournie, ou 0 dans le cas contraire. UInt256 Exemples Conversion réussie
Query
SELECT toUInt256OrDefault('-256', CAST('0', 'UInt256'))
Response
0
Échec de la conversion
Query
SELECT toUInt256OrDefault('abc', CAST('0', 'UInt256'))
Response
0

toUInt256OrNull

Introduit dans : v20.8.0 Comme toUInt256, cette fonction convertit une valeur d’entrée en une valeur de type UInt256, mais renvoie NULL en cas d’erreur. Arguments pris en charge :
  • Représentations sous forme de chaîne de (U)Int*.
Arguments non pris en charge (renvoient NULL) :
  • Représentations sous forme de chaîne de valeurs Float*, y compris NaN et Inf.
  • Représentations sous forme de chaîne de valeurs binaires et hexadécimales, par exemple SELECT toUInt256OrNull('0xc0fe');.
Si la valeur d’entrée ne peut pas être représentée dans les limites de UInt256, un dépassement de capacité par excès ou par défaut se produit. Cela n’est pas considéré comme une erreur.
Voir aussi : Syntaxe
toUInt256OrNull(x)
Arguments
  • x — Représentation sous forme de chaîne d’un nombre. String
Valeur renvoyée Renvoie une valeur de type UInt256, ou NULL si la conversion échoue. UInt256 ou NULL Exemples Exemple d’utilisation
Query
SELECT
    toUInt256OrNull('256'),
    toUInt256OrNull('abc')
FORMAT Vertical
Response
Row 1:
──────
toUInt256OrNull('256'): 256
toUInt256OrNull('abc'): \N

toUInt256OrZero

Introduit dans : v20.8.0 Comme toUInt256, cette fonction convertit une valeur d’entrée en une valeur de type UInt256, mais renvoie 0 en cas d’erreur. Arguments pris en charge :
  • Représentations sous forme de chaîne de (U)Int*.
Arguments non pris en charge (renvoient 0) :
  • Représentations sous forme de chaîne de valeurs Float*, y compris NaN et Inf.
  • Représentations sous forme de chaîne de valeurs binaires et hexadécimales, par exemple SELECT toUInt256OrZero('0xc0fe');.
Si la valeur d’entrée ne peut pas être représentée dans les limites de UInt256, un dépassement de capacité par excès ou par défaut se produit dans le résultat. Cela n’est pas considéré comme une erreur.
Voir aussi : Syntaxe
toUInt256OrZero(x)
Arguments
  • x — Représentation sous forme de chaîne d’un nombre. String
Valeur renvoyée Renvoie une valeur de type UInt256, sinon 0 si la conversion échoue. UInt256 Exemples Exemple d’utilisation
Query
SELECT
    toUInt256OrZero('256'),
    toUInt256OrZero('abc')
FORMAT Vertical
Response
Row 1:
──────
toUInt256OrZero('256'): 256
toUInt256OrZero('abc'): 0

toUInt32

Introduit dans : v1.1.0 Convertit une valeur d’entrée en une valeur de type UInt32. Lève une exception en cas d’erreur. Arguments pris en charge :
  • Les valeurs ou les représentations sous forme de chaîne de caractères du type (U)Int*.
  • Les valeurs de type Float*.
Arguments non pris en charge :
  • Les représentations sous forme de chaîne de caractères de valeurs Float*, y compris NaN et Inf.
  • Les représentations sous forme de chaîne de caractères de valeurs binaires et hexadécimales, par ex. SELECT toUInt32('0xc0fe');.
Si la valeur d’entrée ne peut pas être représentée dans la plage de UInt32, le résultat déborde ou sous-déborde. Cela n’est pas considéré comme une erreur. Par exemple : SELECT toUInt32(4294967296) == 0;
La fonction utilise l’arrondi vers zéro, ce qui signifie qu’elle tronque la partie fractionnaire des nombres.
Voir aussi : Syntaxe
toUInt32(expr)
Arguments
  • expr — Expression renvoyant un nombre ou la représentation textuelle d’un nombre. Expression
Valeur renvoyée Renvoie une valeur entière non signée sur 32 bits. UInt32 Exemples Exemple d’utilisation
Query
SELECT
    toUInt32(32),
    toUInt32(32.32),
    toUInt32('32')
FORMAT Vertical
Response
Row 1:
──────
toUInt32(32):    32
toUInt32(32.32): 32
toUInt32('32'):  32

toUInt32OrDefault

Introduit dans : v21.11.0 Comme toUInt32, cette fonction convertit une valeur d’entrée en une valeur de type UInt32, mais renvoie la valeur par défaut en cas d’erreur. Si aucune valeur default n’est fournie, 0 est renvoyé en cas d’erreur. Syntaxe
toUInt32OrDefault(expr[, default])
Arguments
  • expr — expression renvoyant un nombre ou la représentation sous forme de chaîne d’un nombre. String ou (U)Int* ou Float*
  • default — Facultatif. La valeur par défaut à renvoyer si l’analyse n’aboutit pas. UInt32
Valeur renvoyée Renvoie une valeur de type UInt32 en cas de succès ; sinon, renvoie la valeur par défaut si elle est fournie, ou 0 dans le cas contraire. UInt32 Exemples Conversion réussie
Query
SELECT toUInt32OrDefault('32', CAST('0', 'UInt32'))
Response
32
Conversion échouée
Query
SELECT toUInt32OrDefault('abc', CAST('0', 'UInt32'))
Response
0

toUInt32OrNull

Introduit dans : v1.1.0 Comme toUInt32, cette fonction convertit une valeur d’entrée en une valeur de type UInt32, mais renvoie NULL en cas d’erreur. Arguments pris en charge :
  • Représentations sous forme de chaîne de (U)Int8/16/32/128/256.
Arguments non pris en charge (renvoient NULL) :
  • Représentations sous forme de chaîne de valeurs Float*, y compris NaN et Inf.
  • Représentations sous forme de chaîne de valeurs binaires et hexadécimales, par ex. SELECT toUInt32OrNull('0xc0fe');.
Si la valeur d’entrée ne peut pas être représentée dans les limites de UInt32, un dépassement de capacité par excès ou par défaut du résultat se produit. Cela n’est pas considéré comme une erreur.
Voir aussi : Syntaxe
toUInt32OrNull(x)
Arguments
  • x — Une représentation sous forme de chaîne d’un nombre. String
Valeur renvoyée Renvoie une valeur de type UInt32 ; sinon, NULL si la conversion échoue. UInt32 ou NULL Exemples Exemple d’utilisation
Query
SELECT
    toUInt32OrNull('32'),
    toUInt32OrNull('abc')
FORMAT Vertical
Response
Row 1:
──────
toUInt32OrNull('32'):  32
toUInt32OrNull('abc'): \N

toUInt32OrZero

Introduit dans : v1.1.0 Comme toUInt32, cette fonction convertit une valeur d’entrée en une valeur de type UInt32, mais renvoie 0 en cas d’erreur. Arguments pris en charge :
  • Représentations sous forme de chaîne de (U)Int8/16/32/128/256.
Arguments non pris en charge (renvoient 0) :
  • Représentations sous forme de chaîne de valeurs Float*, y compris NaN et Inf.
  • Représentations sous forme de chaîne de valeurs binaires et hexadécimales, par exemple SELECT toUInt32OrZero('0xc0fe');.
Si la valeur d’entrée ne peut pas être représentée dans les limites de UInt32, un dépassement de capacité par excès ou par défaut se produit. Cela n’est pas considéré comme une erreur.
Voir aussi : Syntaxe
toUInt32OrZero(x)
Arguments
  • x — Une représentation sous forme de chaîne d’un nombre. String
Valeur renvoyée Renvoie une valeur de type UInt32, ou 0 si la conversion échoue. UInt32 Exemples Exemple d’utilisation
Query
SELECT
    toUInt32OrZero('32'),
    toUInt32OrZero('abc')
FORMAT Vertical
Response
Row 1:
──────
toUInt32OrZero('32'):  32
toUInt32OrZero('abc'): 0

toUInt64

Introduit dans : v1.1.0 Convertit une valeur d’entrée en une valeur de type UInt64. lever une exception en cas d’erreur. Arguments pris en charge :
  • Valeurs ou représentations sous forme de chaîne de type (U)Int*.
  • Valeurs de type Float*.
Types non pris en charge :
  • Représentations sous forme de chaîne de valeurs Float*, y compris NaN et Inf.
  • Représentations sous forme de chaîne de valeurs binaires et hexadécimales, par exemple SELECT toUInt64('0xc0fe');.
Si la valeur d’entrée ne peut pas être représentée dans les limites de UInt64, le résultat fait l’objet d’un dépassement supérieur ou inférieur. Cela n’est pas considéré comme une erreur. Par exemple : SELECT toUInt64(18446744073709551616) == 0;
La fonction utilise l’arrondi vers zéro, ce qui signifie qu’elle tronque les chiffres fractionnaires des nombres.
Voir aussi : Syntaxe
toUInt64(expr)
Arguments
  • expr — Expression renvoyant un nombre ou sa représentation sous forme de chaîne. Expression
Valeur renvoyée Renvoie une valeur entière non signée de 64 bits. UInt64 Exemples Exemple d’utilisation
Query
SELECT
    toUInt64(64),
    toUInt64(64.64),
    toUInt64('64')
FORMAT Vertical
Response
Row 1:
──────
toUInt64(64):    64
toUInt64(64.64): 64
toUInt64('64'):  64

toUInt64OrDefault

Introduit dans : v21.11.0 Comme toUInt64, cette fonction convertit une valeur d’entrée en une valeur de type UInt64, mais renvoie la valeur par défaut en cas d’erreur. Si aucune valeur default n’est fournie, 0 est renvoyé en cas d’erreur. Syntaxe
toUInt64OrDefault(expr[, default])
Arguments
  • expr — Expression qui renvoie un nombre ou la représentation sous forme de chaîne d’un nombre. String ou (U)Int* ou Float*
  • default — Facultatif. La valeur par défaut à renvoyer si l’analyse échoue. UInt64
Valeur renvoyée Renvoie une valeur de type UInt64 en cas de succès ; sinon, renvoie la valeur par défaut si elle est fournie, ou 0 dans le cas contraire. UInt64 Exemples Conversion réussie
Query
SELECT toUInt64OrDefault('64', CAST('0', 'UInt64'))
Response
64
Conversion échouée
Query
SELECT toUInt64OrDefault('abc', CAST('0', 'UInt64'))
Response
0

toUInt64OrNull

Introduit dans : v1.1.0 Comme toUInt64, cette fonction convertit une valeur d’entrée en une valeur de type UInt64, mais renvoie NULL en cas d’erreur. Arguments pris en charge :
  • Représentations sous forme de chaîne de (U)Int*.
Arguments non pris en charge (renvoient NULL) :
  • Représentations sous forme de chaîne de valeurs Float*, y compris NaN et Inf.
  • Représentations sous forme de chaîne de valeurs binaires et hexadécimales, par ex. SELECT toUInt64OrNull('0xc0fe');.
Si la valeur d’entrée ne peut pas être représentée dans les limites de UInt64, le résultat subit un dépassement de capacité, par excès ou par défaut. Cela n’est pas considéré comme une erreur.
Voir aussi : Syntaxe
toUInt64OrNull(x)
Arguments
  • x — Représentation sous forme de chaîne d’un nombre. String
Valeur renvoyée Renvoie une valeur de type UInt64, ou NULL si la conversion échoue. UInt64 ou NULL Exemples Exemple d’utilisation
Query
SELECT
    toUInt64OrNull('64'),
    toUInt64OrNull('abc')
FORMAT Vertical
Response
Row 1:
──────
toUInt64OrNull('64'):  64
toUInt64OrNull('abc'): \N

toUInt64OrZero

Introduit dans : v1.1.0 Comme toUInt64, cette fonction convertit une valeur d’entrée en une valeur de type UInt64, mais renvoie 0 en cas d’erreur. Arguments pris en charge :
  • Représentations sous forme de chaîne de (U)Int*.
Arguments non pris en charge (renvoient 0) :
  • Représentations sous forme de chaîne de valeurs Float*, y compris NaN et Inf.
  • Représentations sous forme de chaîne de valeurs binaires et hexadécimales, par exemple SELECT toUInt64OrZero('0xc0fe');.
Si la valeur d’entrée ne peut pas être représentée dans les limites de UInt64, il se produit un dépassement de capacité par excès ou par défaut du résultat. Cela n’est pas considéré comme une erreur.
Voir aussi : Syntaxe
toUInt64OrZero(x)
Arguments
  • x — Une représentation sous forme de chaîne d’un nombre. String
Valeur renvoyée Renvoie une valeur de type UInt64, ou 0 si la conversion échoue. UInt64 Exemples Exemple d’utilisation
Query
SELECT
    toUInt64OrZero('64'),
    toUInt64OrZero('abc')
FORMAT Vertical
Response
Row 1:
──────
toUInt64OrZero('64'):  64
toUInt64OrZero('abc'): 0

toUInt8

Introduit dans : v1.1.0 Convertit une valeur d’entrée en une valeur de type UInt8. lever une exception en cas d’erreur. Arguments pris en charge :
  • Valeurs ou représentations sous forme de chaîne de type (U)Int*.
  • Valeurs de type Float*.
Arguments non pris en charge :
  • Représentations sous forme de chaîne de valeurs Float*, y compris NaN et Inf.
  • Représentations sous forme de chaîne de valeurs binaires et hexadécimales, par exemple SELECT toUInt8('0xc0fe');.
Si la valeur d’entrée ne peut pas être représentée dans la plage de UInt8, un dépassement de capacité par excès ou par défaut du résultat se produit. Cela n’est pas considéré comme une erreur. Par exemple : SELECT toUInt8(256) == 0;.
La fonction utilise l’arrondi vers zéro, ce qui signifie qu’elle tronque les chiffres fractionnaires des nombres.
Voir aussi : Syntaxe
toUInt8(expr)
Arguments
  • expr — Expression renvoyant un nombre ou sa représentation sous forme de chaîne. Expression
Valeur renvoyée Renvoie une valeur entière non signée de 8 bits. UInt8 Exemples Exemple d’utilisation
Query
SELECT
    toUInt8(8),
    toUInt8(8.8),
    toUInt8('8')
FORMAT Vertical
Response
Row 1:
──────
toUInt8(8):   8
toUInt8(8.8): 8
toUInt8('8'): 8

toUInt8OrDefault

Introduit dans : v21.11.0 Comme toUInt8, cette fonction convertit une valeur d’entrée en une valeur de type UInt8, mais renvoie la valeur par défaut en cas d’erreur. Si aucune valeur default n’est fournie, 0 est renvoyé en cas d’erreur. Syntaxe
toUInt8OrDefault(expr[, default])
Arguments
  • expr — Expression renvoyant un nombre ou la représentation sous forme de chaîne d’un nombre. String ou (U)Int* ou Float*
  • default — Facultatif. Valeur par défaut à renvoyer si l’analyse échoue. UInt8
Valeur renvoyée Renvoie une valeur de type UInt8 en cas de réussite ; sinon, renvoie la valeur par défaut si elle est fournie, ou 0 dans le cas contraire. UInt8 Exemples Conversion réussie
Query
SELECT toUInt8OrDefault('8', CAST('0', 'UInt8'))
Response
8
Conversion échouée
Query
SELECT toUInt8OrDefault('abc', CAST('0', 'UInt8'))
Response
0

toUInt8OrNull

Introduit dans : v1.1.0 Comme toUInt8, cette fonction convertit une valeur d’entrée en une valeur de type UInt8, mais renvoie NULL en cas d’erreur. Arguments pris en charge :
  • Représentations sous forme de chaîne de caractères de (U)Int8/16/32/128/256.
Arguments non pris en charge (renvoient NULL) :
  • Représentations sous forme de chaîne de caractères de valeurs Float* ordinaires, y compris NaN et Inf.
  • Représentations sous forme de chaîne de caractères de valeurs binaires et hexadécimales, par ex. SELECT toUInt8OrNull('0xc0fe');.
Si la valeur d’entrée ne peut pas être représentée dans les limites de UInt8, un dépassement de capacité par excès ou par défaut du résultat se produit. Cela n’est pas considéré comme une erreur.
Voir aussi : Syntaxe
toUInt8OrNull(x)
Arguments
  • x — Une représentation sous forme de chaîne d’un nombre. String
Valeur renvoyée Renvoie une valeur de type UInt8, ou NULL si la conversion échoue. UInt8 ou NULL Exemples Exemple d’utilisation
Query
SELECT
    toUInt8OrNull('42'),
    toUInt8OrNull('abc')
FORMAT Vertical
Response
Row 1:
──────
toUInt8OrNull('42'):  42
toUInt8OrNull('abc'): \N

toUInt8OrZero

Introduite dans : v1.1.0 Comme toUInt8, cette fonction convertit une valeur d’entrée en une valeur de type UInt8, mais renvoie 0 en cas d’erreur. Arguments pris en charge :
  • Représentations sous forme de chaîne de (U)Int8/16/32/128/256.
Arguments non pris en charge (renvoient 0) :
  • Représentations sous forme de chaîne de valeurs Float* ordinaires, y compris NaN et Inf.
  • Représentations sous forme de chaîne de valeurs binaires et hexadécimales, par exemple SELECT toUInt8OrZero('0xc0fe');.
Si la valeur d’entrée ne peut pas être représentée dans les limites de UInt8, un dépassement de capacité (par excès ou par défaut) du résultat se produit. Cela n’est pas considéré comme une erreur.
Voir aussi : Syntaxe
toUInt8OrZero(x)
Arguments
  • x — Une représentation sous forme de chaîne d’un nombre. String
Valeur renvoyée Renvoie une valeur de type UInt8, ou 0 si la conversion échoue. UInt8 Exemples Exemple d’utilisation
Query
SELECT
    toUInt8OrZero('-8'),
    toUInt8OrZero('abc')
FORMAT Vertical
Response
Row 1:
──────
toUInt8OrZero('-8'):  0
toUInt8OrZero('abc'): 0

toUUID

Introduit dans : v1.1.0 Convertit une valeur de type String en une valeur UUID. Syntaxe
toUUID(string)
Arguments Valeur renvoyée Renvoie un UUID à partir de la représentation sous forme de chaîne de l’UUID. UUID Exemples Exemple d’utilisation
Query
SELECT toUUID('61f0c404-5cb3-11e7-907b-a6006ad3dba0') AS uuid
Response
┌─────────────────────────────────uuid─┐
│ 61f0c404-5cb3-11e7-907b-a6006ad3dba0 │
└──────────────────────────────────────┘

toUUIDOrZero

Introduit dans : v20.12.0 Convertit une valeur d’entrée en une valeur de type UUID, mais renvoie un UUID nul en cas d’erreur. Semblable à toUUID, mais renvoie un UUID nul (00000000-0000-0000-0000-000000000000) au lieu de lever une exception en cas d’erreur de conversion. Arguments pris en charge :
  • Représentations sous forme de chaîne d’un UUID au format standard (8-4-4-4-12 chiffres hexadécimaux).
  • Représentations sous forme de chaîne d’un UUID sans tirets (32 chiffres hexadécimaux).
Arguments non pris en charge (renvoient un UUID nul) :
  • Formats de chaîne non valides.
  • Types autres que chaîne.
Syntaxe
toUUIDOrZero(x)
Arguments
  • x — Une représentation sous forme de chaîne d’un UUID. String
Valeur renvoyée Renvoie une valeur UUID en cas de succès, sinon l’UUID zéro (00000000-0000-0000-0000-000000000000). UUID Exemples Exemple d’utilisation
Query
SELECT
    toUUIDOrZero('550e8400-e29b-41d4-a716-446655440000') AS valid_uuid,
    toUUIDOrZero('invalid-uuid') AS invalid_uuid
Response
┌─valid_uuid───────────────────────────┬─invalid_uuid─────────────────────────┐
│ 550e8400-e29b-41d4-a716-446655440000 │ 00000000-0000-0000-0000-000000000000 │
└──────────────────────────────────────┴──────────────────────────────────────┘

toUnixTimestamp64Micro

Introduit dans : v20.5.0 Convertit un DateTime64 en une valeur Int64 avec une précision fixe à la microseconde. La valeur d’entrée est mise à l’échelle de manière appropriée en fonction de sa précision.
La valeur de sortie est relative à l’UTC, et non au fuseau horaire de la valeur d’entrée.
Syntaxe
toUnixTimestamp64Micro(value)
Arguments
  • value — Valeur DateTime64 avec une précision quelconque. DateTime64
Valeur renvoyée Renvoie un horodatage Unix en microsecondes. Int64 Exemples Exemple d’utilisation
Query
WITH toDateTime64('2025-02-13 23:31:31.011123', 6, 'UTC') AS dt64
SELECT toUnixTimestamp64Micro(dt64);
Response
┌─toUnixTimestamp64Micro(dt64)─┐
│               1739489491011123 │
└────────────────────────────────┘

toUnixTimestamp64Milli

Introduit dans : v20.5.0 Convertit un DateTime64 en une valeur Int64 avec une précision fixe à la milliseconde. La valeur d’entrée est mise à l’échelle à la hausse ou à la baisse selon sa précision.
La valeur de sortie est relative à l’UTC, et non au fuseau horaire de la valeur d’entrée.
Syntaxe
toUnixTimestamp64Milli(value)
Arguments
  • value — Valeur DateTime64, quelle que soit sa précision. DateTime64
Valeur renvoyée Renvoie un timestamp Unix en millisecondes. Int64 Exemples Exemple d’utilisation
Query
WITH toDateTime64('2025-02-13 23:31:31.011', 3, 'UTC') AS dt64
SELECT toUnixTimestamp64Milli(dt64);
Response
┌─toUnixTimestamp64Milli(dt64)─┐
│                1739489491011 │
└──────────────────────────────┘

toUnixTimestamp64Nano

Introduit dans : v20.5.0 Convertit un DateTime64 en une valeur Int64 avec une précision fixe en nanosecondes. La valeur d’entrée est mise à l’échelle à la hausse ou à la baisse selon sa précision.
La valeur de sortie est relative à l’UTC, et non au fuseau horaire de la valeur d’entrée.
Syntaxe
toUnixTimestamp64Nano(value)
Arguments
  • value — Valeur DateTime64 avec une précision quelconque. DateTime64
Valeur renvoyée Renvoie un timestamp Unix en nanosecondes. Int64 Exemples Exemple d’utilisation
Query
WITH toDateTime64('2025-02-13 23:31:31.011123456', 9, 'UTC') AS dt64
SELECT toUnixTimestamp64Nano(dt64);
Response
┌─toUnixTimestamp64Nano(dt64)────┐
│            1739489491011123456 │
└────────────────────────────────┘

toUnixTimestamp64Second

Introduit dans : v24.12.0 Convertit un DateTime64 en valeur Int64 avec une précision fixe à la seconde. La valeur d’entrée est mise à l’échelle vers le haut ou vers le bas selon sa précision.
La valeur de sortie est relative à l’UTC, et non au fuseau horaire de la valeur d’entrée.
Syntaxe
toUnixTimestamp64Second(value)
Arguments
  • value — Valeur DateTime64 avec une précision quelconque. DateTime64
Valeur renvoyée Renvoie un timestamp Unix en secondes. Int64 Exemples Exemple d’utilisation
Query
WITH toDateTime64('2025-02-13 23:31:31.011', 3, 'UTC') AS dt64
SELECT toUnixTimestamp64Second(dt64);
Response
┌─toUnixTimestamp64Second(dt64)─┐
│                    1739489491 │
└───────────────────────────────┘
Dernière modification le 25 juin 2026