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.
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
┌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
toStringappliquée à un argumentDateTimepeut 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
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┌──────────────────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::TArguments
Valeur renvoyée
Renvoie la valeur convertie dans le type de données cible. Any
Exemples
Utilisation de base
SELECT CAST(42, 'String')┌─CAST(42, 'String')─┐
│ 42 │
└────────────────────┘Utilisation de la syntaxe AS
SELECT CAST('2025-01-01' AS Date)┌─CAST('2025-01-01', 'Date')─┐
│ 2025-01-01 │
└────────────────────────────┘Utilisation de la syntaxe ::
SELECT '123'::UInt32┌─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
SELECT DATE('2023-01-01')2023-01-01accurateCast
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
Valeur renvoyée
Renvoie la valeur convertie dans le type de données cible. Any
Exemples
Conversion réussie
SELECT accurateCast(42, 'UInt16')┌─accurateCast(42, 'UInt16')─┐
│ 42 │
└────────────────────────────┘Chaîne vers un nombre
SELECT accurateCast('123.45', 'Float64')┌─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.AnyT— Le nom du type de données cible.const Stringdefault_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
SELECT accurateCastOrDefault(42, 'String')┌─accurateCastOrDefault(42, 'String')─┐
│ 42 │
└─────────────────────────────────────┘Conversion échouée avec valeur par défaut explicite
SELECT accurateCastOrDefault('abc', 'UInt32', 999::UInt32)┌─accurateCastOrDefault('abc', 'UInt32', CAST('999', 'UInt32'))─┐
│ 999 │
└───────────────────────────────────────────────────────────────┘Échec de conversion avec valeur par défaut implicite
SELECT accurateCastOrDefault('abc', 'UInt32')┌─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
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
SELECT accurateCastOrNull(42, 'String')┌─accurateCastOrNull(42, 'String')─┐
│ 42 │
└──────────────────────────────────┘En cas d’échec, la conversion renvoie NULL
SELECT accurateCastOrNull('abc', 'UInt32')┌─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é.
Syntaxe
formatRow(format, x, y, ...)Arguments
Valeur renvoyée
Une chaîne formatée. (pour les formats texte, elle se termine généralement par un caractère de saut de ligne). String
Exemples
Utilisation de base
SELECT formatRow('CSV', number, 'good')
FROM numbers(3)┌─formatRow('CSV', number, 'good')─┐
│ 0,"good" ↴│
│ 1,"good" ↴│
│ 2,"good" ↴│
└──────────────────────────────────┘Avec un format personnalisé
SELECT formatRow('CustomSeparated', number, 'good')
FROM numbers(3)
SETTINGS format_custom_result_before_delimiter='<prefix>\n', format_custom_result_after_delimiter='<suffix>'┌─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
Valeur renvoyée
Renvoie une chaîne formatée dont les retours à la ligne ont été supprimés. String
Exemples
Utilisation de base
SELECT formatRowNoNewline('CSV', number, 'good')
FROM numbers(3)┌─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.Int64timezone— 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
SELECT fromUnixTimestamp64Micro(1640995200123456)┌─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.Int64timezone— 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
SELECT fromUnixTimestamp64Milli(1640995200123)┌─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).
Syntaxe
fromUnixTimestamp64Nano(value[, timezone])Arguments
value— timestamp Unix en nanosecondes.Int64timezone— 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
SELECT fromUnixTimestamp64Nano(1640995200123456789)┌─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.Int64timezone— 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
SELECT fromUnixTimestamp64Second(1640995200)┌─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.Stringformat— Chaîne de format indiquant comment analyser time_string.Stringtimezone— 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
SELECT parseDateTime('2025-01-04+23:00:00', '%Y-%m-%d+%H:%i:%s')┌─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_string—Stringcontenant une date et une heure à convertir.Stringtime_zone— Facultatif. Fuseau horaire selon lequeltime_stringest interprété.String
Valeur renvoyée
Renvoie time_string en DateTime. DateTime
Exemples
Exemple d'utilisation
SELECT parseDateTime32BestEffort('23/10/2025 12:12:57')
AS parseDateTime32BestEffort┌─parseDateTime32BestEffort─┐
│ 2025-10-23 12:12:57 │
└───────────────────────────┘Avec un fuseau horaire
SELECT parseDateTime32BestEffort('Sat, 18 Aug 2025 07:22:16 GMT', 'Asia/Istanbul')
AS parseDateTime32BestEffort┌─parseDateTime32BestEffort─┐
│ 2025-08-18 10:22:16 │
└───────────────────────────┘timestamp Unix
SELECT parseDateTime32BestEffort('1284101485')
AS parseDateTime32BestEffort┌─parseDateTime32BestEffort─┐
│ 2010-09-10 06:51:25 │
└───────────────────────────┘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_string—Stringcontenant une date et une heure à convertir.Stringtime_zone— Facultatif. Fuseau horaire selon lequeltime_stringest 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
SELECT
parseDateTime32BestEffortOrNull('23/10/2025 12:12:57') AS valid,
parseDateTime32BestEffortOrNull('invalid date') AS invalid┌───────────────valid─┬─invalid─┐
│ 2025-10-23 12:12:57 │ ᴺᵁᴸᴸ │
└─────────────────────┴─────────┘parseDateTime32BestEffortOrZero
Introduit dans : v20.9.0
Identique à parseDateTime32BestEffort, sauf qu'elle renvoie une date zéro 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_string—Stringcontenant une date et une heure à convertir.Stringtime_zone— Facultatif. Fuseau horaire selon lequeltime_stringest 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
SELECT
parseDateTime32BestEffortOrZero('23/10/2025 12:12:57') AS valid,
parseDateTime32BestEffortOrZero('invalid date') AS invalid┌───────────────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 0000 à 9999 avec une précision sub-secondes (les précisions élevées couvrent une plage plus étroite, car la valeur est stockée sous la forme d'un nombre Int64 de ticks : la précision 8 atteint environ 4892 et la précision 9 couvre la plage de 1677 à 2262).
Syntaxe
parseDateTime64(time_string, format[, timezone])Arguments
time_string— Chaîne à analyser pour obtenir unDateTime64.Stringformat— Chaîne de format indiquant comment analyser time_string.Stringtimezone— 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
SELECT parseDateTime64('2025-01-04 23:00:00.123', '%Y-%m-%d %H:%i:%s.%f')┌─parseDateTime64('2025-01-04 23:00:00.123', '%Y-%m-%d %H:%i:%s.%f')─┐
│ 2025-01-04 23:00:00.123000 │
└────────────────────────────────────────────────────────────────────┘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_string—Stringcontenant une date ou une date avec heure à convertir.Stringprecision— Facultatif. Précision requise.3pour les millisecondes,6pour les microsecondes. Par défaut :3.UInt8time_zone— Facultatif. Fuseau horaire. La fonction interprètetime_stringen fonction du fuseau horaire.String
Valeur renvoyée
Renvoie time_string converti en type de données DateTime64. DateTime64
Exemples
Exemple d'utilisation
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┌──────────────────────────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_string—Stringcontenant une date ou une date avec heure à convertir.Stringprecision— Facultatif. Précision requise.3pour les millisecondes,6pour les microsecondes. Valeur par défaut :3.UInt8time_zone— Facultatif. Fuseau horaire. La fonction interprètetime_stringselon 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
SELECT parseDateTime64BestEffortOrNull('2025-01-01 01:01:00.123') AS valid,
parseDateTime64BestEffortOrNull('invalid') AS invalid┌───────────────────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_string—Stringcontenant une date ou une date avec heure à convertir.Stringprecision— Facultatif. Précision requise.3pour les millisecondes,6pour les microsecondes. Par défaut :3.UInt8time_zone— Facultatif. Fuseau horaire. La fonction interprètetime_stringselon 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
SELECT parseDateTime64BestEffortOrZero('2025-01-01 01:01:00.123') AS valid,
parseDateTime64BestEffortOrZero('invalid') AS invalid┌───────────────────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_string—Stringcontenant une date ou une date avec heure à convertir.Stringprecision— Facultatif. Précision requise.3pour les millisecondes,6pour les microsecondes. Par défaut :3.UInt8time_zone— Facultatif. Fuseau horaire. La fonction interprètetime_stringselon 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
SELECT parseDateTime64BestEffortUS('02/10/2025 12:30:45.123') AS us_format,
parseDateTime64BestEffortUS('15/08/2025 10:15:30.456') AS fallback_to_standard┌───────────────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 qui ne peut pas être analysé.
Syntaxe
parseDateTime64BestEffortUSOrNull(time_string[, precision[, time_zone]])Arguments
time_string—Stringcontenant une date ou une date avec heure à convertir.Stringprecision— Facultatif. Précision requise.3pour les millisecondes,6pour les microsecondes. Valeur par défaut :3.UInt8time_zone— Facultatif. Fuseau horaire. La fonction analysetime_stringen 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
SELECT parseDateTime64BestEffortUSOrNull('02/10/2025 12:30:45.123') AS valid_us,
parseDateTime64BestEffortUSOrNull('invalid') AS invalid┌────────────────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 analysé.
Syntaxe
parseDateTime64BestEffortUSOrZero(time_string [, precision [, time_zone]])Arguments
time_string—Stringcontenant une date ou une date avec heure à convertir.Stringprecision— Facultatif. Précision requise.3pour les millisecondes,6pour les microsecondes. Par défaut :3.UInt8time_zone— Facultatif. Fuseau horaire. La fonction interprètetime_stringselon 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
SELECT parseDateTime64BestEffortUSOrZero('02/10/2025 12:30:45.123') AS valid_us,
parseDateTime64BestEffortUSOrZero('invalid') AS invalid┌────────────────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 0000 à 9999 avec une précision inférieure à la seconde (les précisions élevées couvrent une plage plus étroite, car la valeur est stockée dans un nombre de ticks Int64 : la précision 8 atteint environ 4892 et la précision 9 s'étend de 1677 à 2262).
Consultez la documentation Joda Time pour les motifs de format.
Syntaxe
parseDateTime64InJodaSyntax(time_string, format[, timezone])Arguments
time_string— Chaîne à analyser en DateTime64.Stringformat— Chaîne de format en syntaxe Joda indiquant comment interpréter time_string.Stringtimezone— Facultatif. Fuseau horaire.String
Valeur renvoyée
Renvoie un DateTime64 analysé à partir de la chaîne d’entrée selon la chaîne de format de style Joda. DateTime64
Exemples
Exemple d’utilisation
SELECT parseDateTime64InJodaSyntax('2025-01-04 23:00:00.123', 'yyyy-MM-dd HH:mm:ss.SSS')┌─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.Stringformat— Chaîne de format en syntaxe Joda indiquant comment analyser time_string.Stringtimezone— 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
SELECT parseDateTime64InJodaSyntaxOrNull('2025-01-04 23:00:00.123', 'yyyy-MM-dd HH:mm:ss.SSS')┌─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.Stringformat— Chaîne de format en syntaxe Joda, indiquant comment analyser time_string.Stringtimezone— 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
SELECT parseDateTime64InJodaSyntaxOrZero('2025-01-04 23:00:00.123', 'yyyy-MM-dd HH:mm:ss.SSS')┌─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.Stringformat— Chaîne de format indiquant comment analyser time_string.Stringtimezone— 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
SELECT parseDateTime64OrNull('2025-01-04 23:00:00.123', '%Y-%m-%d %H:%i:%s.%f')┌─parseDateTime64OrNull('2025-01-04 23:00:00.123', '%Y-%m-%d %H:%i:%s.%f')─┐
│ 2025-01-04 23:00:00.123000 │
└──────────────────────────────────────────────────────────────────────────┘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 à analyser en DateTime64.Stringformat— Chaîne de format indiquant comment analyser time_string.Stringtimezone— 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
SELECT parseDateTime64OrZero('2025-01-04 23:00:00.123', '%Y-%m-%d %H:%i:%s.%f')┌─parseDateTime64OrZero('2025-01-04 23:00:00.123', '%Y-%m-%d %H:%i:%s.%f')─┐
│ 2025-01-04 23:00:00.123000 │
└──────────────────────────────────────────────────────────────────────────┘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,MMest remplacé par01. - 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.Stringtime_zone— Facultatif. Fuseau horaire utilisé pour analysertime_string.String
Valeur renvoyée
Renvoie time_string sous forme de DateTime. DateTime
Exemples
Exemple d'utilisation
SELECT parseDateTimeBestEffort('23/10/2025 12:12:57') AS parseDateTimeBestEffort┌─parseDateTimeBestEffort─┐
│ 2025-10-23 12:12:57 │
└─────────────────────────┘Avec un fuseau horaire
SELECT parseDateTimeBestEffort('Sat, 18 Aug 2025 07:22:16 GMT', 'Asia/Istanbul') AS parseDateTimeBestEffort┌─parseDateTimeBestEffort─┐
│ 2025-08-18 10:22:16 │
└─────────────────────────┘timestamp Unix
SELECT parseDateTimeBestEffort('1735689600') AS parseDateTimeBestEffort┌─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 qui ne peut pas être analysé.
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,MMest remplacé par01. - 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_string— chaîne contenant une date et une heure à convertir.Stringtime_zone— Facultatif. Fuseau horaire selon lequeltime_stringest 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
SELECT parseDateTimeBestEffortOrNull('23/10/2025 12:12:57') AS valid,
parseDateTimeBestEffortOrNull('invalid') AS invalid┌───────────────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-YYetc. - Une chaîne avec un jour et une heure :
DD,DD hh,DD hh:mm. Dans ce cas,MMest remplacé par01. - 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_string— chaîne contenant une date et une heure à convertir.Stringtime_zone— Facultatif. Fuseau horaire utilisé pour interprétertime_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
SELECT parseDateTimeBestEffortOrZero('23/10/2025 12:12:57') AS valid,
parseDateTimeBestEffortOrZero('invalid') AS invalid┌───────────────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 américain 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_string— chaîne contenant une date et une heure à convertir.Stringtime_zone— Facultatif. Fuseau horaire selon lequeltime_stringest 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
SELECT parseDateTimeBestEffortUS('02/10/2025') AS us_format,
parseDateTimeBestEffortUS('15/08/2025') AS fallback_to_standard┌───────────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.Stringtime_zone— Facultatif. Fuseau horaire selon lequeltime_stringest 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
SELECT parseDateTimeBestEffortUSOrNull('02/10/2025') AS valid_us,
parseDateTimeBestEffortUSOrNull('invalid') AS invalid┌────────────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_string—Stringcontenant une date et une heure à convertir.Stringtime_zone— Facultatif. Fuseau horaire selon lequeltime_stringest 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
SELECT parseDateTimeBestEffortUSOrZero('02/10/2025') AS valid_us,
parseDateTimeBestEffortUSOrZero('invalid') AS invalid┌────────────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.Stringformat— Chaîne de format en syntaxe Joda indiquant comment interpréter time_string.Stringtimezone— 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
SELECT parseDateTimeInJodaSyntax('2025-01-04 23:00:00', 'yyyy-MM-dd HH:mm:ss')┌─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.Stringformat— Chaîne de format en syntaxe Joda indiquant comment analyser time_string.Stringtimezone— 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
SELECT parseDateTimeInJodaSyntaxOrNull('2025-01-04 23:00:00', 'yyyy-MM-dd HH:mm:ss')┌─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.Stringformat— Chaîne de format en syntaxe Joda indiquant comment analyser time_string.Stringtimezone— 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
SELECT parseDateTimeInJodaSyntaxOrZero('2025-01-04 23:00:00', 'yyyy-MM-dd HH:mm:ss')┌─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 impossible à analyser.
Syntaxe
parseDateTimeOrNull(time_string, format[, timezone])Alias : str_to_date
Arguments
time_string— chaîne à analyser pour obtenir unDateTime.Stringformat— Chaîne de format indiquant comment analyser time_string.Stringtimezone— 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
SELECT parseDateTimeOrNull('2025-01-04+23:00:00', '%Y-%m-%d+%H:%i:%s')┌─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.Stringformat— Chaîne de format indiquant comment analyser time_string.Stringtimezone— 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
SELECT parseDateTimeOrZero('2025-01-04+23:00:00', '%Y-%m-%d+%H:%i:%s')┌─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.
Lorsque le type de destination est String, un Array source n’est pris en charge que si son type d’élément est de taille fixe et contigu en mémoire (par exemple, Array(UInt8) ou Array(FixedString(2))) ; les octets de ses éléments sont copiés tels quels dans leur ordre natif en mémoire, de sorte que le résultat puisse être réinterprété dans le type Array d’origine sur n’importe quelle architecture. Les Array dont les éléments sont de longueur variable (par exemple, Array(String)) ou Nullable (par exemple, Array(Nullable(Int32))) ne sont pas pris en charge.
Syntaxe
reinterpret(x, type)Arguments
x— Valeur à réinterpréter. Lors d’une réinterprétation enString, unArraysource doit avoir des éléments contigus de taille fixe.Anytype— 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
SELECT reinterpret(toInt8(-1), 'UInt8') AS int_to_uint,
reinterpret(toInt8(1), 'Float32') AS int_to_float,
reinterpret('1', 'UInt32') AS string_to_int┌─int_to_uint─┬─int_to_float─┬─string_to_int─┐
│ 255 │ 1e-45 │ 49 │
└─────────────┴──────────────┴───────────────┘Exemple de type Array
SELECT reinterpret(x'3108b4403108d4403108b4403108d440', 'Array(Float32)') AS string_to_array_of_Float32┌─string_to_array_of_Float32─┐
│ [5.626,6.626,5.626,6.626] │
└────────────────────────────┘Exemple de Array vers String
SELECT hex(reinterpret([toUInt8(1), toUInt8(2), toUInt8(255)]::Array(UInt8), 'String')) AS array_of_UInt8_to_string┌─array_of_UInt8_to_string─┐
│ 0102FF │
└──────────────────────────┘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
x— Nombre de jours depuis le début de l’époque Unix.(U)Int*ouFloat*ouDateouDateTimeouUUIDouStringouFixedString
Valeur renvoyée
Date. Date
Exemples
Exemple d'utilisation
SELECT reinterpretAsDate(65), reinterpretAsDate('A')┌─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
x— Nombre de secondes écoulées depuis le début de l’époque Unix.(U)Int*ouFloat*ouDateouDateTimeouUUIDouStringouFixedString
Valeur renvoyée
Date et heure. DateTime
Exemples
Exemple d’utilisation
SELECT reinterpretAsDateTime(65), reinterpretAsDateTime('A')┌─reinterpretAsDateTime(65)─┬─reinterpretAsDateTime('A')─┐
│ 1970-01-01 00:01:05 │ 1970-01-01 00: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
-- The result is a sequence of bytes, so it is shown with `hex`.
SELECT
hex(reinterpretAsFixedString(toDateTime('1970-01-01 01:01:05'))),
hex(reinterpretAsFixedString(toDate('1970-03-07')))┌─hex(reinterpretAsFixedString(toDateTime('1970-01-01 01:01:05')))─┬─hex(reinterpretAsFixedString(toDate('1970-03-07')))─┐
│ 510E0000 │ 4100 │
└──────────────────────────────────────────────────────────────────┴─────────────────────────────────────────────────────┘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
x— Valeur à réinterpréter comme Float32.(U)Int*ouFloat*ouDateouDateTimeouUUIDouStringouFixedString
Valeur renvoyée
Renvoie la valeur x réinterprétée. Float32
Exemples
Exemple d'utilisation
SELECT reinterpretAsUInt32(toFloat32(0.2)) AS x, reinterpretAsFloat32(x)┌──────────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
x— Valeur à réinterpréter en Float64.(U)Int*ouFloat*ouDateouDateTimeouUUIDouStringouFixedString
Valeur renvoyée
Renvoie la valeur x réinterprétée. Float64
Exemples
Exemple d'utilisation
SELECT reinterpretAsUInt64(toFloat64(0.2)) AS x, reinterpretAsFloat64(x)┌───────────────────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
x— Valeur à réinterpréter en Int128.(U)Int*ouFloat*ouDateouDateTimeouUUIDouStringouFixedString
Valeur renvoyée
Renvoie la valeur x réinterprétée. Int128
Exemples
Exemple d'utilisation
SELECT
toInt64(257) AS x,
toTypeName(x),
reinterpretAsInt128(x) AS res,
toTypeName(res)┌───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
x— Valeur à réinterpréter en Int16.(U)Int*ouFloat*ouDateouDateTimeouUUIDouStringouFixedString
Valeur renvoyée
Renvoie la valeur x réinterprétée. Int16
Exemples
Exemple d'utilisation
SELECT
toInt8(257) AS x,
toTypeName(x),
reinterpretAsInt16(x) AS res,
toTypeName(res)┌─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
x— Valeur à réinterpréter en Int256.(U)Int*ouFloat*ouDateouDateTimeouUUIDouStringouFixedString
Valeur renvoyée
Renvoie la valeur x réinterprétée. Int256
Exemples
Exemple d'utilisation
SELECT
toInt128(257) AS x,
toTypeName(x),
reinterpretAsInt256(x) AS res,
toTypeName(res)┌───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
x— Valeur à réinterpréter en Int32.(U)Int*ouFloat*ouDateouDateTimeouUUIDouStringouFixedString
Valeur renvoyée
Renvoie la valeur réinterprétée x. Int32
Exemples
Exemple d'utilisation
SELECT
toInt16(257) AS x,
toTypeName(x),
reinterpretAsInt32(x) AS res,
toTypeName(res)┌───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
x— Valeur à réinterpréter en Int64.(U)Int*ouFloat*ouDateouDateTimeouUUIDouStringouFixedString
Valeur renvoyée
Renvoie la valeur x réinterprétée. Int64
Exemples
Exemple d'utilisation
SELECT
toInt32(257) AS x,
toTypeName(x),
reinterpretAsInt64(x) AS res,
toTypeName(res)┌───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
x— Valeur à réinterpréter en Int8.(U)Int*ouFloat*ouDateouDateTimeouUUIDouStringouFixedString
Valeur renvoyée
Renvoie la valeur réinterprétée x. Int8
Exemples
Exemple d'utilisation
SELECT
toUInt8(257) AS x,
toTypeName(x),
reinterpretAsInt8(x) AS res,
toTypeName(res)┌─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.
Pour les valeurs scalaires, l’ordre des octets est normalisé en little endian, et 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.
Pour un Array d’éléments de taille fixe, les octets des éléments sont copiés tels quels dans leur ordre natif en mémoire, sans suppression des octets nuls de fin et sans normalisation en little endian, de sorte que le résultat peut être réinterprété dans le type Array d’origine sur n’importe quelle architecture.
Syntaxe
reinterpretAsString(x)Arguments
Valeur renvoyée
Chaîne contenant les octets représentant x. String
Exemples
Exemple d'utilisation
-- The result is a sequence of bytes, so it is shown with `hex`.
SELECT
hex(reinterpretAsString(toDateTime('1970-01-01 01:01:05'))),
hex(reinterpretAsString(toDate('1970-03-07')))┌─hex(reinterpretAsString(toDateTime('1970-01-01 01:01:05')))─┬─hex(reinterpretAsString(toDate('1970-03-07')))─┐
│ 510E │ 41 │
└─────────────────────────────────────────────────────────────┴────────────────────────────────────────────────┘Exemple de conversion de Array en String
SELECT hex(reinterpretAsString([toUInt8(1), toUInt8(2), toUInt8(255)]::Array(UInt8))) AS array_of_UInt8_to_string┌─array_of_UInt8_to_string─┐
│ 0102FF │
└──────────────────────────┘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
x— Valeur à réinterpréter en UInt128.(U)Int*ouFloat*ouDateouDateTimeouUUIDouStringouFixedString
Valeur renvoyée
Renvoie la valeur x réinterprétée. UInt128
Exemples
Exemple d'utilisation
SELECT
toUInt64(257) AS x,
toTypeName(x),
reinterpretAsUInt128(x) AS res,
toTypeName(res)┌───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
x— Valeur à réinterpréter comme UInt16.(U)Int*ouFloat*ouDateouDateTimeouUUIDouStringouFixedString
Valeur renvoyée
Renvoie la valeur x réinterprétée. UInt16
Exemples
Exemple d'utilisation
SELECT
toUInt8(257) AS x,
toTypeName(x),
reinterpretAsUInt16(x) AS res,
toTypeName(res)┌─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
x— valeur à réinterpréter en UInt256.(U)Int*ouFloat*ouDateouDateTimeouUUIDouStringouFixedString
Valeur renvoyée
Renvoie la valeur x réinterprétée. UInt256
Exemples
Exemple d'utilisation
SELECT
toUInt128(257) AS x,
toTypeName(x),
reinterpretAsUInt256(x) AS res,
toTypeName(res)┌───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
x— Valeur à réinterpréter sous forme de UInt32.(U)Int*ouFloat*ouDateouDateTimeouUUIDouStringouFixedString
Valeur renvoyée
Renvoie la valeur x réinterprétée. UInt32
Exemples
Exemple d’utilisation
SELECT
toUInt16(257) AS x,
toTypeName(x),
reinterpretAsUInt32(x) AS res,
toTypeName(res)┌───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
x— Valeur à réinterpréter en UInt64.Int*ouUInt*ouFloat*ouDateouDateTimeouUUIDouStringouFixedString
Valeur renvoyée
Renvoie la valeur de x réinterprétée. UInt64
Exemples
Exemple d'utilisation
SELECT
toUInt32(257) AS x,
toTypeName(x),
reinterpretAsUInt64(x) AS res,
toTypeName(res)┌───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
x— Valeur à réinterpréter en UInt8.(U)Int*ouFloat*ouDateouDateTimeouUUIDouStringouFixedString
Valeur renvoyée
Renvoie la valeur x réinterprétée. UInt8
Exemples
Exemple d'utilisation
SELECT
toInt8(-1) AS val,
toTypeName(val),
reinterpretAsUInt8(val) AS res,
toTypeName(res);┌─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
SELECT reinterpretAsUUID(reverse(unhex('000102030405060708090a0b0c0d0e0f')))┌─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
SELECT
toBFloat16(toFloat32(42.7)),
toBFloat16(toFloat32('42.7')),
toBFloat16('42.7')
FORMAT Vertical;Row 1:
──────
toBFloat16(toFloat32(42.7)): 42.5
toBFloat16(toFloat32('42.7')): 42.5
toBFloat16('42.7'): 42.5toBFloat16OrNull
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.
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
SELECT toBFloat16OrNull('0x5E'), -- unsupported arguments
toBFloat16OrNull('12.3'), -- typical use
toBFloat16OrNull('12.3456789') -- silent loss of precision\N 12.25 12.3125toBFloat16OrZero
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 à virgule flottante, la fonction renvoie zéro.
Arguments pris en charge :
- Représentations sous forme de chaîne de valeurs numériques.
Arguments non pris en charge (renvoient 0) :
- Représentations sous forme de chaîne de valeurs binaires et hexadécimales.
- Valeurs numériques.
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
SELECT toBFloat16OrZero('0x5E'), -- unsupported arguments
toBFloat16OrZero('12.3'), -- typical use
toBFloat16OrZero('12.3456789') -- silent loss of precision0 12.25 12.3125toBool
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*ouFloat*ouStringouExpression
Valeur renvoyée
Renvoie true ou false en fonction de l'évaluation de l'argument. Bool
Exemples
Exemple d'utilisation
SELECT
toBool(toUInt8(1)),
toBool(toInt8(-1)),
toBool(toFloat32(1.01)),
toBool('true'),
toBool('false'),
toBool('FALSE')
FORMAT VerticalRow 1:
──────
toBool(toUInt8(1)): true
toBool(toInt8(-1)): true
toBool(toFloat32(1.01)): true
toBool('true'): true
toBool('false'): false
toBool('FALSE'): falsetoDate
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
x— Valeur d’entrée à convertir.StringouFixedStringouDateTimeou(U)Int*ouFloat*
Valeur renvoyée
Renvoie la valeur d’entrée convertie. Date
Exemples
Conversion de String en Date
SELECT toDate('2025-04-15')2025-04-15Conversion de DateTime en Date
SELECT toDate(toDateTime('2025-04-15 10:30:00'))2025-04-15Conversion d’un entier en Date
SELECT toDate(20297)2025-07-28toDate32
Introduit dans : v21.9.0
Convertit l’argument en type de données Date32.
Si la valeur est hors de la plage [0000-01-01, 9999-12-31], 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
SELECT toDate32('2025-01-01') AS value, toTypeName(value)
FORMAT VerticalRow 1:
──────
value: 2025-01-01
toTypeName(value): Date32Avant 1900
SELECT toDate32('1899-01-01') AS value, toTypeName(value)
FORMAT VerticalRow 1:
──────
value: 1899-01-01
toTypeName(value): Date32toDate32OrDefault
Introduite dans : v21.11.0
Convertit l’argument en type de données Date32. Si l’argument ne peut pas être converti, notamment s’il s’agit d’une valeur numérique hors de la plage de Date32, la fonction renvoie une valeur par défaut, qui correspond soit au deuxième argument (s’il est spécifié), soit à 1900-01-01, la valeur par défaut historique de Date32 (et non sa borne inférieure, qui est 0000-01-01). Si l’argument est de type Date, ses bornes sont prises en compte.
Notez que, contrairement à toDate32, cette fonction ne sature pas un argument numérique hors plage aux bornes de Date32 ; un tel argument est traité comme non convertible.
Syntaxe
toDate32OrDefault(expr[, default])Arguments
expr— Expression qui renvoie un nombre ou la représentation sous forme de chaîne d’un nombre.Stringou(U)Int*ouFloat*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
SELECT toDate32OrDefault('1930-01-01', toDate32('2020-01-01'))1930-01-01Échec de la conversion
SELECT toDate32OrDefault('xx1930-01-01', toDate32('2020-01-01'))2020-01-01Nombre hors plage
SELECT toDate32OrDefault(toUInt64(18446744073709551615), toDate32('2020-01-01'))2020-01-01toDate32OrNull
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
SELECT toDate32OrNull('2025-01-01'), toDate32OrNull('invalid')┌─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 valeur par défaut 1900-01-01 si l’argument est invalide.
Identique à toDate32, mais renvoie 1900-01-01 si l’argument est invalide.
Notez que 1900-01-01 est une valeur par défaut historique pour les entrées non valides, et non la borne inférieure de Date32, qui est 0000-01-01.
Voir aussi :
Syntaxe
toDate32OrZero(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 réussite ; sinon, la valeur par défaut historique pour une entrée non valide (1900-01-01). Date32
Exemples
Exemple d'utilisation
SELECT toDate32OrZero('2025-01-01'), toDate32OrZero('')┌─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.Stringou(U)Int*ouFloat*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
SELECT toDateOrDefault('2022-12-30')2022-12-30Échec de la conversion
SELECT toDateOrDefault('', CAST('2023-01-01', 'Date'))2023-01-01toDateOrNull
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.
Un argument entier est interprété de la même manière que par toDate (comme un nombre de jours depuis le 1970-01-01 s’il ne dépasse pas 65535, sinon comme un timestamp Unix) et produit NULL s’il est hors de la plage du type Date.
Syntaxe
toDateOrNull(x)Arguments
x— Une représentation sous forme de chaîne d’une date, ou un nombre entier de jours ou un timestamp Unix.Stringou(U)Int8/16/32/64
Valeur renvoyée
Renvoie une valeur Date en cas de succès, sinon NULL. Date ou NULL
Exemples
Exemple d’utilisation
SELECT toDateOrNull('2025-12-30'), toDateOrNull('invalid')┌─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
SELECT toDateOrZero('2025-12-30'), toDateOrZero('')┌─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.
Syntaxe
toDateTime(expr[, time_zone])Arguments
Valeur renvoyée
Renvoie une date et une heure. DateTime
Exemples
Exemple d'utilisation
SELECT toDateTime('2025-01-01 00:00:00'), toDateTime(1735689600, 'UTC')
FORMAT VerticalRow 1:
──────
toDateTime('2025-01-01 00:00:00'): 2025-01-01 00:00:00
toDateTime(1735689600, 'UTC'): 2025-01-01 00:00:00toDateTime32
Introduit dans : v20.9.0
Convertit une valeur d’entrée en type DateTime.
Prend en charge la conversion depuis String, FixedString, Date, Date32, Time, DateTime, DateTime64 ou des types numériques ((U)Int8, (U)Int16, (U)Int32, (U)Int64, BFloat16, Float32, Float64). Les valeurs Decimal et Time64 ne sont pas prises en charge et lèvent une exception ; le type Time et les types d’entiers de grande taille tels que (U)Int128/(U)Int256 effectuent un bouclage au lieu de saturer.
DateTime32 est un alias de DateTime et prend en charge les dates comprises entre 1970-01-01 00:00:00 et 2106-02-07 06:28:15.
Lors d’une conversion depuis une chaîne ou l’un des types numériques saturants répertoriés ci-dessus, les valeurs hors de cette plage sont ramenées à ses bornes. Les valeurs à virgule flottante non finies (NaN, inf, -inf) ne peuvent pas être converties et lèvent une exception.
Les conversions depuis d’autres types de date et d’heure, tels que Date32 ou DateTime64, suivent le paramètre date_time_overflow_behavior : le mode ignore par défaut peut produire des valeurs ayant subi un bouclage, saturate les ramène aux bornes de la plage et throw lève une exception.
Syntaxe
toDateTime32(x[, timezone])Arguments
x— Valeur d’entrée à convertir.String,FixedString,(U)Int*,Float*,BFloat16,Date,Date32,Time,DateTimeouDateTime64timezone— Facultatif. Fuseau horaire de la valeurDateTimerenvoyée.String
Valeur renvoyée
Renvoie la valeur d’entrée convertie. DateTime
Exemples
À partir d’une chaîne
SELECT toDateTime32('2025-01-01 00:00:00') AS value, toTypeName(value);┌───────────────value─┬─toTypeName(value)─┐
│ 2025-01-01 00:00:00 │ DateTime │
└─────────────────────┴───────────────────┘À partir d’un timestamp Unix
SELECT toDateTime32(1735689600, 'UTC') AS value, toTypeName(value);┌───────────────value─┬─toTypeName(value)─┐
│ 2025-01-01 00:00:00 │ DateTime('UTC') │
└─────────────────────┴───────────────────┘Avec un fuseau horaire
SELECT toDateTime32('2025-01-01 00:00:00', 'Asia/Istanbul') AS value, toTypeName(value);┌───────────────value─┬─toTypeName(value)─────────┐
│ 2025-01-01 00:00:00 │ DateTime('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.Expressionscale— Taille du tick (précision) : 10^(-scale) secondes.UInt8timezone— Facultatif. Fuseau horaire de l’objetDateTime64spé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
SELECT toDateTime64('2025-01-01 00:00:00.000', 3) AS value, toTypeName(value);┌───────────────────value─┬─toTypeName(value)─┐
│ 2025-01-01 00:00:00.000 │ DateTime64(3) │
└─────────────────────────┴───────────────────┘Sous forme de Decimal avec précision
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);┌───────────────────value─┬─toTypeName(value)─┐
│ 2019-01-01 00:00:00.000 │ DateTime64(3) │
└─────────────────────────┴───────────────────┘
┌───────────────────value─┬─toTypeName(value)─┐
│ 9999-12-31 23:59:59.000 │ DateTime64(3) │
└─────────────────────────┴───────────────────┘Avec fuseau horaire
SELECT toDateTime64('2025-01-01 00:00:00', 3, 'Asia/Istanbul') AS value, toTypeName(value);┌───────────────────value─┬─toTypeName(value)──────────────┐
│ 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.Stringou(U)Int*ouFloat*scale— Taille du tick (précision) : 10^-precision secondes.UInt8timezone— Facultatif. Fuseau horaire.Stringdefault— 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
SELECT toDateTime64OrDefault('1976-10-18 00:00:00.30', 3)1976-10-18 00:00:00.300Échec de la conversion
SELECT toDateTime64OrDefault('1976-10-18 00:00:00 30', 3, 'UTC', toDateTime64('2001-01-01 00:00:00.00',3))2001-01-01 00:00:00.000toDateTime64OrNull
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.
Un argument entier est interprété comme un timestamp Unix en secondes entières et renvoie NULL s’il est hors de la plage du type DateTime64.
Syntaxe
toDateTime64OrNull(x[, precision[, timezone]])Arguments
x— Une représentation sous forme de chaîne d’une date et heure avec une précision sous-seconde, ou un timestamp Unix entier.Stringou(U)Int8/16/32/64precision— Facultatif. La précision sous-seconde de la valeur renvoyée.UInt8timezone— Facultatif. Le fuseau horaire de la valeur renvoyée.String
Valeur renvoyée
Renvoie une valeur DateTime64 en cas de succès, sinon NULL. DateTime64 ou NULL
Exemples
Exemple d’utilisation
SELECT toDateTime64OrNull('2025-12-30 13:44:17.123'), toDateTime64OrNull('invalid')┌─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
SELECT toDateTime64OrZero('2025-12-30 13:44:17.123'), toDateTime64OrZero('invalid')┌─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.Stringou(U)Int*ouFloat*timezone— Facultatif. Fuseau horaire.Stringdefault— 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
SELECT toDateTimeOrDefault('2022-12-30 13:44:17')2022-12-30 13:44:17Conversion échouée
SELECT toDateTimeOrDefault('', 'UTC', CAST('2023-01-01', 'DateTime(\'UTC\')'))2023-01-01 00:00:00toDateTimeOrNull
Introduit dans : v1.1.0
Convertit une valeur d'entrée en valeur de type DateTime, mais renvoie NULL si l'argument est invalide.
Identique à toDateTime, mais renvoie NULL si l'argument est invalide.
Un argument entier est interprété comme un horodatage Unix et renvoie NULL s'il est hors de la plage du type DateTime.
Syntaxe
toDateTimeOrNull(x[, timezone])Arguments
x— Une représentation sous forme de chaîne d'une date et d'une heure, ou un timestamp Unix sous forme d'entier.Stringou(U)Int8/16/32/64timezone— Facultatif. Fuseau horaire de la valeur renvoyée.String
Valeur renvoyée
Renvoie une valeur DateTime en cas de réussite, sinon NULL. DateTime ou NULL
Exemples
Exemple d'utilisation
SELECT toDateTimeOrNull('2025-12-30 13:44:17'), toDateTimeOrNull('invalid')┌─toDateTimeOrNull('2025-12-30 13:44:17')─┬─toDateTimeOrNull('invalid')─┐
│ 2025-12-30 13:44:17 │ ᴺᵁᴸᴸ │
└─────────────────────────────────────────┴─────────────────────────────┘Argument entier avec un fuseau horaire
SELECT toDateTimeOrNull(1583851242, 'Asia/Shanghai'), toDateTimeOrNull(4294967296)┌─toDateTimeOrNull(1583851242, 'Asia/Shanghai')─┬─toDateTimeOrNull(4294967296)─┐
│ 2020-03-10 22:40:42 │ ᴺᵁᴸᴸ │
└───────────────────────────────────────────────┴──────────────────────────────┘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
SELECT toDateTimeOrZero('2025-12-30 13:44:17'), toDateTimeOrZero('invalid')┌─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*
NaNetInf, 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);.
Syntaxe
toDecimal128(expr, S)Arguments
expr— Expression renvoyant un nombre ou sa représentation sous forme de chaîne.ExpressionS— 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
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 VerticalRow 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.StringS— 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.UInt8default— 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
SELECT toDecimal128OrDefault(toString(1/42), 18)0.023809523809523808Échec de la conversion
SELECT toDecimal128OrDefault('Inf', 0, CAST('-1', 'Decimal128(0)'))-1toDecimal128OrNull
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*
NaNetInf, 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.ExpressionS— 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
SELECT toDecimal128OrNull('42.7', 2), toDecimal128OrNull('invalid', 2)┌─toDecimal128OrNull('42.7', 2)─┬─toDecimal128OrNull('invalid', 2)─┐
│ 42.7 │ ᴺᵁᴸᴸ │
└───────────────────────────────┴──────────────────────────────────┘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*
NaNetInf(insensible à la casse). - Représentations sous forme de chaîne de valeurs binaires et hexadécimales.
Syntaxe
toDecimal128OrZero(expr, S)Arguments
expr— Expression renvoyant un nombre ou la représentation sous forme de chaîne d’un nombre.ExpressionS— 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
SELECT toDecimal128OrZero('42.7', 2), toDecimal128OrZero('invalid', 2)┌─toDecimal128OrZero('42.7', 2)─┬─toDecimal128OrZero('invalid', 2)─┐
│ 42.7 │ 0 │
└───────────────────────────────┴──────────────────────────────────┘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 des valeurs Float*
NaNetInf(insensible à la casse). - Représentations sous forme de chaîne de valeurs binaires et hexadécimales, par exemple
SELECT toDecimal256('0xc0fe', 1);.
Syntaxe
toDecimal256(expr, S)Arguments
expr— Expression renvoyant un nombre ou la représentation sous forme de chaîne d’un nombre.ExpressionS— 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
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 VerticalRow 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.StringS— Paramètre d’échelle compris entre 0 et 76, qui indique le nombre de chiffres que la partie fractionnaire d’un nombre peut contenir.UInt8default— 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
SELECT toDecimal256OrDefault(toString(1/42), 76)0.023809523809523808Échec de conversion
SELECT toDecimal256OrDefault('Inf', 0, CAST('-1', 'Decimal256(0)'))-1toDecimal256OrNull
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*
NaNetInf(insensible à la casse). - Représentations sous forme de chaîne de valeurs binaires et hexadécimales.
- 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.ExpressionS— 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
SELECT toDecimal256OrNull('42.7', 2), toDecimal256OrNull('invalid', 2)┌─toDecimal256OrNull('42.7', 2)─┬─toDecimal256OrNull('invalid', 2)─┐
│ 42.7 │ ᴺᵁᴸᴸ │
└───────────────────────────────┴──────────────────────────────────┘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*
NaNetInf(insensible à la casse). - Représentations sous forme de chaîne de valeurs binaires et hexadécimales.
Voir aussi :
Syntaxe
toDecimal256OrZero(expr, S)Arguments
expr— Expression renvoyant un nombre ou la représentation sous forme de chaîne d’un nombre.ExpressionS— 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
SELECT toDecimal256OrZero('42.7', 2), toDecimal256OrZero('invalid', 2)┌─toDecimal256OrZero('42.7', 2)─┬─toDecimal256OrZero('invalid', 2)─┐
│ 42.7 │ 0 │
└───────────────────────────────┴──────────────────────────────────┘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*
NaNetInf(insensible à la casse). - Représentations sous forme de chaîne de valeurs binaires et hexadécimales, par ex.
SELECT toDecimal32('0xc0fe', 1);.
Syntaxe
toDecimal32(expr, S)Arguments
expr— Expression renvoyant un nombre ou une représentation d’un nombre sous forme de chaîne.ExpressionS— 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
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 VerticalRow 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.StringS— 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.UInt8default— 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
SELECT toDecimal32OrDefault(toString(0.0001), 5)0.0001Échec de conversion
SELECT toDecimal32OrDefault('Inf', 0, CAST('-1', 'Decimal32(0)'))-1toDecimal32OrNull
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*
NaNetInf(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.ExpressionS— 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
SELECT toDecimal32OrNull('42.7', 2), toDecimal32OrNull('invalid', 2)┌─toDecimal32OrNull('42.7', 2)─┬─toDecimal32OrNull('invalid', 2)─┐
│ 42.7 │ ᴺᵁᴸᴸ │
└──────────────────────────────┴─────────────────────────────────┘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*
NaNetInf, 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.
Syntaxe
toDecimal32OrZero(expr, S)Arguments
expr— Expression renvoyant un nombre ou sa représentation sous forme de chaîne.ExpressionS— 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
SELECT toDecimal32OrZero('42.7', 2), toDecimal32OrZero('invalid', 2)┌─toDecimal32OrZero('42.7', 2)─┬─toDecimal32OrZero('invalid', 2)─┐
│ 42.7 │ 0 │
└──────────────────────────────┴─────────────────────────────────┘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*
NaNetInf(insensible à la casse). - Représentations sous forme de chaîne de valeurs binaires ou hexadécimales, par ex.
SELECT toDecimal64('0xc0fe', 1);.
Syntaxe
toDecimal64(expr, S)Arguments
expr— Expression renvoyant un nombre ou la représentation sous forme de chaîne d’un nombre.ExpressionS— 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
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 VerticalRow 1:
──────
a: 2
type_a: Decimal(18, 1)
b: 4.2
type_b: Decimal(18, 2)
c: 4.2
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.StringS— Paramètre d’échelle compris entre 0 et 18, indiquant le nombre de chiffres que peut contenir la partie fractionnaire d’un nombre.UInt8default— 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
SELECT toDecimal64OrDefault(toString(0.0001), 18)0.0001Échec de la conversion
SELECT toDecimal64OrDefault('Inf', 0, CAST('-1', 'Decimal64(0)'))-1toDecimal64OrNull
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*
NaNetInf(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.ExpressionS— 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
SELECT toDecimal64OrNull('42.7', 2), toDecimal64OrNull('invalid', 2)┌─toDecimal64OrNull('42.7', 2)─┬─toDecimal64OrNull('invalid', 2)─┐
│ 42.7 │ ᴺᵁᴸᴸ │
└──────────────────────────────┴─────────────────────────────────┘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 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*
NaNetInf(insensible à la casse). - Représentations sous forme de chaîne de valeurs binaires et hexadécimales.
Voir aussi :
Syntaxe
toDecimal64OrZero(expr, S)Arguments
expr— Expression renvoyant un nombre ou la représentation sous forme de chaîne d’un nombre.ExpressionS— 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
SELECT toDecimal64OrZero('42.7', 2), toDecimal64OrZero('invalid', 2)┌─toDecimal64OrZero('42.7', 2)─┬─toDecimal64OrZero('invalid', 2)─┐
│ 42.7 │ 0 │
└──────────────────────────────┴─────────────────────────────────┘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).Int8ouInt16ouInt32ouInt64ouUInt8ouUInt16ouUInt32ouUInt64ouFloat32ouFloat64ouDecimalscale— 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
SELECT toDecimalString(2.1456, 2)┌─toDecimalString(2.1456, 2)─┐
│ 2.15 │
└────────────────────────────┘Remplir avec des zéros
SELECT toDecimalString(5, 3)┌─toDecimalString(5, 3)─┐
│ 5.000 │
└───────────────────────┘Différents types numériques
SELECT toDecimalString(CAST(123.456 AS Decimal(10,3)), 2) AS decimal_val,
toDecimalString(CAST(42.7 AS Float32), 4) AS float_val┌─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.StringN— Longueur de laFixedStringobtenue.const UInt*
Valeur renvoyée
Renvoie une FixedString de longueur N. FixedString(N)
Exemples
Exemple d'utilisation
-- The padding is made of null bytes, so the result is shown with `hex`.
SELECT hex(toFixedString('foo', 8)) AS s;┌─s────────────────┐
│ 666F6F0000000000 │
└──────────────────┘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
NaNetInf. - Représentations sous forme de chaîne de Float*, y compris
NaNetInf(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
SELECT
toFloat32(42.7),
toFloat32('42.7'),
toFloat32('NaN')
FORMAT VerticalRow 1:
──────
toFloat32(42.7): 42.7
toFloat32('42.7'): 42.7
toFloat32('NaN'): nantoFloat32OrDefault
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.Stringou(U)Int*ouFloat*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
SELECT toFloat32OrDefault('8', CAST('0', 'Float32'))8Échec de conversion
SELECT toFloat32OrDefault('abc', CAST('0', 'Float32'))0toFloat32OrNull
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
NaNetInf. - Représentations sous forme de chaîne de Float*, y compris
NaNetInf(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
SELECT
toFloat32OrNull('42.7'),
toFloat32OrNull('NaN'),
toFloat32OrNull('abc')
FORMAT VerticalRow 1:
──────
toFloat32OrNull('42.7'): 42.7
toFloat32OrNull('NaN'): nan
toFloat32OrNull('abc'): ᴺᵁᴸᴸ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
SELECT
toFloat32OrZero('42.7'),
toFloat32OrZero('abc')
FORMAT VerticalRow 1:
──────
toFloat32OrZero('42.7'): 42.7
toFloat32OrZero('abc'): 0toFloat64
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
NaNetInf. - Représentations sous forme de chaîne de type Float*, y compris
NaNetInf(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
SELECT
toFloat64(42.7),
toFloat64('42.7'),
toFloat64('NaN')
FORMAT VerticalRow 1:
──────
toFloat64(42.7): 42.7
toFloat64('42.7'): 42.7
toFloat64('NaN'): nantoFloat64OrDefault
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.Stringou(U)Int*ouFloat*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
SELECT toFloat64OrDefault('8', CAST('0', 'Float64'))8Échec de la conversion
SELECT toFloat64OrDefault('abc', CAST('0', 'Float64'))0toFloat64OrNull
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
NaNetInf. - Représentations sous forme de chaîne du type Float*, y compris
NaNetInf(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
SELECT
toFloat64OrNull('42.7'),
toFloat64OrNull('NaN'),
toFloat64OrNull('abc')
FORMAT VerticalRow 1:
──────
toFloat64OrNull('42.7'): 42.7
toFloat64OrNull('NaN'): nan
toFloat64OrNull('abc'): ᴺᵁᴸᴸ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
SELECT
toFloat64OrZero('42.7'),
toFloat64OrZero('abc')
FORMAT VerticalRow 1:
──────
toFloat64OrZero('42.7'): 42.7
toFloat64OrZero('abc'): 0toInt128
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
NaNetInf. - Représentations sous forme de chaîne de valeurs binaires et hexadécimales, par ex.
SELECT toInt128('0xc0fe');.
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
SELECT
toInt128(-128),
toInt128(-128.8),
toInt128('-128')
FORMAT VerticalRow 1:
──────
toInt128(-128): -128
toInt128(-128.8): -128
toInt128('-128'): -128toInt128OrDefault
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.Stringou(U)Int*ouFloat*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
SELECT toInt128OrDefault('-128', CAST('-1', 'Int128'))-128Échec de la conversion
SELECT toInt128OrDefault('abc', CAST('-1', 'Int128'))-1toInt128OrNull
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
NaNetInf. - Représentations sous forme de chaîne de valeurs binaires et hexadécimales, par exemple
SELECT toInt128OrNull('0xc0fe');.
Voir aussi :
Syntaxe
toInt128OrNull(x)Arguments
x— Représentation sous forme de chaîne d’un nombre.String
Valeur renvoyée
Renvoie une valeur de type Int128, ou NULL si la conversion échoue. Int128 ou NULL
Exemples
Exemple d’utilisation
SELECT
toInt128OrNull('-128'),
toInt128OrNull('abc')
FORMAT VerticalRow 1:
──────
toInt128OrNull('-128'): -128
toInt128OrNull('abc'): ᴺᵁᴸᴸ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
x— Valeur d'entrée à convertir.StringouFixedStringouFloat*ouDecimalou(U)Int*ouDateouDateTime
Valeur renvoyée
Renvoie la valeur d'entrée convertie, ou 0 si la conversion échoue. Int128
Exemples
Exemple d'utilisation
SELECT toInt128OrZero('123')123En cas d’échec, la conversion renvoie zéro
SELECT toInt128OrZero('abc')0toInt16
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
NaNetInf. - Représentations sous forme de chaîne de valeurs binaires et hexadécimales, par exemple
SELECT toInt16('0xc0fe');.
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
SELECT
toInt16(-16),
toInt16(-16.16),
toInt16('-16')
FORMAT VerticalRow 1:
──────
toInt16(-16): -16
toInt16(-16.16): -16
toInt16('-16'): -16toInt16OrDefault
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.Stringou(U)Int*ouFloat*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
SELECT toInt16OrDefault('-16', CAST('-1', 'Int16'))-16Conversion échouée
SELECT toInt16OrDefault('abc', CAST('-1', 'Int16'))-1toInt16OrNull
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
NaNetInf. - Représentations sous forme de chaînes de caractères de valeurs binaires et hexadécimales, par exemple
SELECT toInt16OrNull('0xc0fe');.
Voir aussi :
Syntaxe
toInt16OrNull(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 Int16, ou NULL si la conversion échoue. Int16 ou NULL
Exemples
Exemple d'utilisation
SELECT
toInt16OrNull('-16'),
toInt16OrNull('abc')
FORMAT VerticalRow 1:
──────
toInt16OrNull('-16'): -16
toInt16OrNull('abc'): ᴺᵁᴸᴸ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
NaNetInf. - représentation sous forme de chaîne de caractères de valeurs binaires et hexadécimales, par exemple
SELECT toInt16OrZero('0xc0fe');.
Voir aussi :
Syntaxe
toInt16OrZero(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 Int16, ou 0 si la conversion échoue. Int16
Exemples
Exemple d’utilisation
SELECT
toInt16OrZero('16'),
toInt16OrZero('abc')
FORMAT VerticalRow 1:
──────
toInt16OrZero('16'): 16
toInt16OrZero('abc'): 0toInt256
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
NaNetInf. - Représentations sous forme de chaîne de valeurs binaires et hexadécimales, par ex.
SELECT toInt256('0xc0fe');.
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
SELECT
toInt256(-256),
toInt256(-256.256),
toInt256('-256')
FORMAT VerticalRow 1:
──────
toInt256(-256): -256
toInt256(-256.256): -256
toInt256('-256'): -256toInt256OrDefault
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.Stringou(U)Int*ouFloat*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
SELECT toInt256OrDefault('-256', CAST('-1', 'Int256'))-256Échec de la conversion
SELECT toInt256OrDefault('abc', CAST('-1', 'Int256'))-1toInt256OrNull
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
NaNetInf. - Représentations sous forme de chaîne de caractères de valeurs binaires et hexadécimales, par exemple
SELECT toInt256OrNull('0xc0fe');.
Voir aussi :
Syntaxe
toInt256OrNull(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 Int256, ou NULL si la conversion échoue. Int256 ou NULL
Exemples
Exemple d’utilisation
SELECT
toInt256OrNull('-256'),
toInt256OrNull('abc')
FORMAT VerticalRow 1:
──────
toInt256OrNull('-256'): -256
toInt256OrNull('abc'): ᴺᵁᴸᴸ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
x— Valeur d'entrée à convertir.StringouFixedStringouFloat*ouDecimalou(U)Int*ouDateouDateTime
Valeur renvoyée
Renvoie la valeur d'entrée convertie, ou 0 si la conversion échoue. Int256
Exemples
Exemple d'utilisation
SELECT toInt256OrZero('123')123Renvoie zéro en cas d’échec de la conversion
SELECT toInt256OrZero('abc')0toInt32
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
NaNetInf. - Représentations sous forme de chaîne de valeurs binaires et hexadécimales, par exemple
SELECT toInt32('0xc0fe');.
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
SELECT
toInt32(-32),
toInt32(-32.32),
toInt32('-32')
FORMAT VerticalRow 1:
──────
toInt32(-32): -32
toInt32(-32.32): -32
toInt32('-32'): -32toInt32OrDefault
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.Stringou(U)Int*ouFloat*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
SELECT toInt32OrDefault('-32', CAST('-1', 'Int32'))-32Échec de conversion
SELECT toInt32OrDefault('abc', CAST('-1', 'Int32'))-1toInt32OrNull
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
NaNetInf. - représentation sous forme de chaîne de caractères de valeurs binaires et hexadécimales, par exemple
SELECT toInt32OrNull('0xc0fe');.
Voir aussi :
Syntaxe
toInt32OrNull(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 NULL si la conversion échoue. Int32 ou NULL
Exemples
Exemple d'utilisation
SELECT
toInt32OrNull('-32'),
toInt32OrNull('abc')
FORMAT VerticalRow 1:
──────
toInt32OrNull('-32'): -32
toInt32OrNull('abc'): ᴺᵁᴸᴸtoInt32OrZero
Introduit dans : v1.1.0
Comme toInt32, cette fonction convertit une valeur d’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
NaNetInf. - Représentations sous forme de chaîne de caractères de valeurs binaires et hexadécimales, par exemple
SELECT toInt32OrZero('0xc0fe');.
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
SELECT
toInt32OrZero('32'),
toInt32OrZero('abc')
FORMAT VerticalRow 1:
──────
toInt32OrZero('32'): 32
toInt32OrZero('abc'): 0toInt64
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
NaNetInf. - représentation sous forme de chaîne de caractères de valeurs binaires et hexadécimales, par exemple
SELECT toInt64('0xc0fe');.
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
SELECT
toInt64(-64),
toInt64(-64.64),
toInt64('-64')
FORMAT VerticalRow 1:
──────
toInt64(-64): -64
toInt64(-64.64): -64
toInt64('-64'): -64toInt64OrDefault
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.Stringou(U)Int*ouFloat*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
SELECT toInt64OrDefault('-64', CAST('-1', 'Int64'))-64Échec de conversion
SELECT toInt64OrDefault('abc', CAST('-1', 'Int64'))-1toInt64OrNull
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
NaNetInf. - Représentations sous forme de chaîne de valeurs binaires et hexadécimales, par exemple
SELECT toInt64OrNull('0xc0fe');.
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
SELECT
toInt64OrNull('-64'),
toInt64OrNull('abc')
FORMAT VerticalRow 1:
──────
toInt64OrNull('-64'): -64
toInt64OrNull('abc'): ᴺᵁᴸᴸ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
x— Valeur d'entrée à convertir.StringouFixedStringouFloat*ouDecimalou(U)Int*ouDateouDateTime
Valeur renvoyée
Renvoie la valeur d'entrée convertie, ou 0 si la conversion échoue. Int64
Exemples
Exemple d'utilisation
SELECT toInt64OrZero('123')123En cas d'échec de la conversion, zéro est renvoyé
SELECT toInt64OrZero('abc')0toInt8
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
NaNetInf. - Représentations sous forme de chaîne de valeurs binaires et hexadécimales, par ex.
SELECT toInt8('0xc0fe');.
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
SELECT
toInt8(-8),
toInt8(-8.8),
toInt8('-8')
FORMAT VerticalRow 1:
──────
toInt8(-8): -8
toInt8(-8.8): -8
toInt8('-8'): -8toInt8OrDefault
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.Stringou(U)Int*ouFloat*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
SELECT toInt8OrDefault('-8', CAST('-1', 'Int8'))-8Conversion échouée
SELECT toInt8OrDefault('abc', CAST('-1', 'Int8'))-1toInt8OrNull
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
NaNetInf. - Représentations sous forme de chaîne de valeurs binaires et hexadécimales, par exemple
SELECT toInt8OrNull('0xc0fe');.
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
SELECT
toInt8OrNull('-8'),
toInt8OrNull('abc')
FORMAT VerticalRow 1:
──────
toInt8OrNull('-8'): -8
toInt8OrNull('abc'): ᴺᵁᴸᴸ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
NaNetInf. - Représentations sous forme de chaîne de valeurs binaires et hexadécimales, par exemple
SELECT toInt8OrZero('0xc0fe');.
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
SELECT
toInt8OrZero('8'),
toInt8OrZero('abc')
FORMAT VerticalRow 1:
──────
toInt8OrZero('8'): 8
toInt8OrZero('abc'): 0toInterval
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.Int8ouInt16ouInt32ouInt64ouUInt8ouUInt16ouUInt32ouUInt64ouFloat32ouFloat64unit— 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
SELECT
toInterval(5, 'second') AS seconds,
toInterval(3, 'day') AS days,
toInterval(2, 'month') AS months┌─seconds─┬─days─┬─months─┐
│ 5 │ 3 │ 2 │
└─────────┴──────┴────────┘Utiliser des intervalles dans les calculs sur les dates
SELECT
now() AS current_time,
now() + toInterval(1, 'hour') AS one_hour_later,
now() - toInterval(7, 'day') AS week_ago┌─────────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
SELECT toDate('2025-01-01') + toInterval(number, 'day') AS dates
FROM numbers(5)┌──────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*ouFloat*ouString
Valeur renvoyée
Renvoie un intervalle de n jours. Interval
Exemples
Exemple d'utilisation
WITH
toDate('2025-06-15') AS date,
toIntervalDay(5) AS interval_to_days
SELECT date + interval_to_days AS result┌─────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*orUInt*orFloat*orString
Valeur renvoyée
Renvoie un intervalle de n heures. Interval
Exemples
Exemple d’utilisation
WITH
toDate('2025-06-15') AS date,
toIntervalHour(12) AS interval_to_hours
SELECT date + interval_to_hours AS result┌──────────────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
WITH
toDateTime('2025-06-15') AS date,
toIntervalMicrosecond(30) AS interval_to_microseconds
SELECT date + interval_to_microseconds AS result┌─────────────────────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
WITH
toDateTime('2025-06-15') AS date,
toIntervalMillisecond(30) AS interval_to_milliseconds
SELECT date + interval_to_milliseconds AS result┌──────────────────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*ouFloat*ouString
Valeur renvoyée
Renvoie un intervalle de n minutes. Interval
Exemples
Exemple d'utilisation
WITH
toDate('2025-06-15') AS date,
toIntervalMinute(12) AS interval_to_minutes
SELECT date + interval_to_minutes AS result┌──────────────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
WITH
toDate('2025-06-15') AS date,
toIntervalMonth(1) AS interval_to_month
SELECT date + interval_to_month AS result┌─────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
WITH
toDateTime('2025-06-15') AS date,
toIntervalNanosecond(30) AS interval_to_nanoseconds
SELECT date + interval_to_nanoseconds AS result┌────────────────────────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
WITH
toDate('2025-06-15') AS date,
toIntervalQuarter(1) AS interval_to_quarter
SELECT date + interval_to_quarter AS result┌─────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*ouFloat*ouString
Valeur renvoyée
Renvoie un intervalle de n secondes. Interval
Exemples
Exemple d’utilisation
WITH
toDate('2025-06-15') AS date,
toIntervalSecond(30) AS interval_to_seconds
SELECT date + interval_to_seconds AS result┌──────────────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
WITH
toDate('2025-06-15') AS date,
toIntervalWeek(1) AS interval_to_week
SELECT date + interval_to_week AS result┌─────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
WITH
toDate('2024-06-15') AS date,
toIntervalYear(1) AS interval_to_year
SELECT date + interval_to_year AS result┌─────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.
Syntaxe
toLowCardinality(expr)Arguments
expr— Expression produisant l’un des types de données pris en charge.StringouFixedStringouDateouDateTimeou(U)Int*ouFloat*
Valeur renvoyée
Renvoie la valeur d’entrée convertie en type de données LowCardinality. LowCardinality
Exemples
Exemple d’utilisation
SELECT toLowCardinality('1')┌─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.Anytimezone— 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
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┌──────────────────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
s— String ou FixedString à traiter.StringouFixedString
Valeur renvoyée
Renvoie une String contenant les caractères qui précèdent le premier octet nul. String
Exemples
Exemple d’utilisation
SELECT
toStringCutToZero('hello'),
toStringCutToZero('hello\0world')┌─toStringCutToZero('hello')─┬─toStringCutToZero('hello\0world')─┐
│ hello │ hello │
└────────────────────────────┴───────────────────────────────────┘toTime
Introduit dans : v25.5.0
Convertit une valeur d’entrée au type Time.
Prend en charge la conversion à partir de String, FixedString, DateTime, DateTime64 ou de types numériques représentant le nombre de secondes écoulées depuis minuit.
Les valeurs numériques en dehors de la plage du type (de -999:59:59 à 999:59:59, soit de -3599999 à 3599999 secondes) sont saturées aux limites de la plage, et les valeurs à virgule flottante non finies (NaN, inf, -inf) ne peuvent pas être converties et entraînent une exception.
Syntaxe
toTime(x)Arguments
x— Valeur d’entrée à convertir.StringouFixedStringouDateTimeouDateTime64ou(U)Int*ouBFloat16ouFloat*
Valeur renvoyée
Renvoie la valeur convertie. Time
Exemples
Conversion de DateTime64 en Time
SET enable_time_time64_type = 1;
SET use_legacy_to_time = 0;
SELECT toTime(toDateTime64('2025-04-15 14:30:25.123', 3))14:30:25Conversion de DateTime en Time
SET enable_time_time64_type = 1;
SET use_legacy_to_time = 0;
SELECT toTime(toDateTime('2025-04-15 14:30:25'))14:30:25Conversion d'un entier (secondes depuis l'epoch) en Time
SET enable_time_time64_type = 1;
SET use_legacy_to_time = 0;
SELECT toTime(toDateTime(52225, 'UTC'))14:30:25toTime64
Introduit dans : v25.6.0
Convertit une valeur d’entrée au type Time64.
Prend en charge la conversion à partir de String, FixedString, DateTime64 ou de types numériques représentant le nombre de secondes écoulées depuis minuit.
Fournit une précision à la sous-seconde pour les valeurs de temps, jusqu’à scale chiffres fractionnaires.
Syntaxe
toTime64(x, scale)Arguments
x— valeur d’entrée à convertir.StringouFixedStringouDateTime64ou(U)Int*ouFloat*scale— précision (nombre de chiffres fractionnaires,0–9) duTime64obtenu.(U)Int*
Valeur renvoyée
Renvoie la valeur convertie avec la précision scale demandée. Time64
Exemples
Conversion de String en Time64
SET enable_time_time64_type = 1;
SELECT toTime64('14:30:25.123456', 6)14:30:25.123456Conversion de DateTime64 en Time64
SET enable_time_time64_type = 1;
SELECT toTime64(toDateTime64('2025-04-15 14:30:25.123456', 6), 6)14:30:25.123456Conversion d’un Float (secondes depuis minuit) en Time64
SET enable_time_time64_type = 1;
SELECT toTime64(52225.123456, 6)14:30:25.123456toTime64OrNull
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
SELECT toTime64OrNull('12:30:45.123'), toTime64OrNull('invalid')┌─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
SELECT toTime64OrZero('12:30:45.123'), toTime64OrZero('invalid')┌─toTime64OrZero('12:30:45.123')─┬─toTime64OrZero('invalid')─┐
│ 12:30:45.123 │ 00:00:00.000 │
└────────────────────────────────┴───────────────────────────┘toTimeOrNull
Introduit dans : v25.5.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
SELECT toTimeOrNull('12:30:45'), toTimeOrNull('invalid')┌─toTimeOrNull('12:30:45')─┬─toTimeOrNull('invalid')─┐
│ 12:30:45 │ ᴺᵁᴸᴸ │
└──────────────────────────┴─────────────────────────┘toTimeOrZero
Introduit dans : v25.5.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 lever 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
SELECT toTimeOrZero('12:30:45'), toTimeOrZero('invalid')┌─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
NaNetInf. - Représentations sous forme de chaîne de valeurs binaires et hexadécimales, par ex.
SELECT toUInt128('0xc0fe');.
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
SELECT
toUInt128(128),
toUInt128(128.8),
toUInt128('128')
FORMAT VerticalRow 1:
──────
toUInt128(128): 128
toUInt128(128.8): 128
toUInt128('128'): 128toUInt128OrDefault
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.Stringou(U)Int*ouFloat*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
SELECT toUInt128OrDefault('128', CAST('0', 'UInt128'))128Échec de la conversion
SELECT toUInt128OrDefault('abc', CAST('0', 'UInt128'))0toUInt128OrNull
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
NaNetInf. - Représentations sous forme de chaîne de valeurs binaires et hexadécimales, par exemple
SELECT toUInt128OrNull('0xc0fe');.
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
SELECT
toUInt128OrNull('128'),
toUInt128OrNull('abc')
FORMAT VerticalRow 1:
──────
toUInt128OrNull('128'): 128
toUInt128OrNull('abc'): ᴺᵁᴸᴸ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
NaNetInf. - Représentations sous forme de chaîne de caractères de valeurs binaires et hexadécimales, par exemple
SELECT toUInt128OrZero('0xc0fe');.
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
SELECT
toUInt128OrZero('128'),
toUInt128OrZero('abc')
FORMAT VerticalRow 1:
──────
toUInt128OrZero('128'): 128
toUInt128OrZero('abc'): 0toUInt16
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
NaNetInf. - Représentations sous forme de chaîne de valeurs binaires et hexadécimales, par exemple
SELECT toUInt16('0xc0fe');.
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
SELECT
toUInt16(16),
toUInt16(16.16),
toUInt16('16')
FORMAT VerticalRow 1:
──────
toUInt16(16): 16
toUInt16(16.16): 16
toUInt16('16'): 16toUInt16OrDefault
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.Stringou(U)Int*ouFloat*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
SELECT toUInt16OrDefault('16', CAST('0', 'UInt16'))16Échec de la conversion
SELECT toUInt16OrDefault('abc', CAST('0', 'UInt16'))0toUInt16OrNull
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
NaNetInf. - Représentations sous forme de chaîne de valeurs binaires et hexadécimales, par ex.
SELECT toUInt16OrNull('0xc0fe');.
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
SELECT
toUInt16OrNull('16'),
toUInt16OrNull('abc')
FORMAT VerticalRow 1:
──────
toUInt16OrNull('16'): 16
toUInt16OrNull('abc'): ᴺᵁᴸᴸ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
NaNetInf. - Représentations sous forme de chaîne de valeurs binaires et hexadécimales, par exemple
SELECT toUInt16OrZero('0xc0fe');.
Voir aussi :
Syntaxe
toUInt16OrZero(x)Arguments
x— Une représentation sous forme de chaîne d’un nombre.String
Valeur renvoyée
Renvoie une valeur de type UInt16, ou 0 si la conversion échoue. UInt16
Exemples
Exemple d’utilisation
SELECT
toUInt16OrZero('16'),
toUInt16OrZero('abc')
FORMAT VerticalRow 1:
──────
toUInt16OrZero('16'): 16
toUInt16OrZero('abc'): 0toUInt256
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
NaNetInf. - Représentations sous forme de chaîne de valeurs binaires et hexadécimales, par exemple
SELECT toUInt256('0xc0fe');.
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
SELECT
toUInt256(256),
toUInt256(256.256),
toUInt256('256')
FORMAT VerticalRow 1:
──────
toUInt256(256): 256
toUInt256(256.256): 256
toUInt256('256'): 256toUInt256OrDefault
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.Stringou(U)Int*ouFloat*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
SELECT toUInt256OrDefault('-256', CAST('0', 'UInt256'))0Échec de la conversion
SELECT toUInt256OrDefault('abc', CAST('0', 'UInt256'))0toUInt256OrNull
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
NaNetInf. - Représentations sous forme de chaîne de valeurs binaires et hexadécimales, par exemple
SELECT toUInt256OrNull('0xc0fe');.
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
SELECT
toUInt256OrNull('256'),
toUInt256OrNull('abc')
FORMAT VerticalRow 1:
──────
toUInt256OrNull('256'): 256
toUInt256OrNull('abc'): ᴺᵁᴸᴸ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
NaNetInf. - Représentations sous forme de chaîne de valeurs binaires et hexadécimales, par exemple
SELECT toUInt256OrZero('0xc0fe');.
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
SELECT
toUInt256OrZero('256'),
toUInt256OrZero('abc')
FORMAT VerticalRow 1:
──────
toUInt256OrZero('256'): 256
toUInt256OrZero('abc'): 0toUInt32
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 du type (U)Int*.
- Les valeurs de type Float*.
Arguments non pris en charge :
- Les représentations sous forme de chaîne de valeurs Float*, y compris
NaNetInf. - Les représentations sous forme de chaîne de valeurs binaires et hexadécimales, par ex.
SELECT toUInt32('0xc0fe');.
Voir aussi :
Syntaxe
toUInt32(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 non signée sur 32 bits. UInt32
Exemples
Exemple d’utilisation
SELECT
toUInt32(32),
toUInt32(32.32),
toUInt32('32')
FORMAT VerticalRow 1:
──────
toUInt32(32): 32
toUInt32(32.32): 32
toUInt32('32'): 32toUInt32OrDefault
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.Stringou(U)Int*ouFloat*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
SELECT toUInt32OrDefault('32', CAST('0', 'UInt32'))32Conversion échouée
SELECT toUInt32OrDefault('abc', CAST('0', 'UInt32'))0toUInt32OrNull
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
NaNetInf. - Représentations sous forme de chaîne de valeurs binaires et hexadécimales, par ex.
SELECT toUInt32OrNull('0xc0fe');.
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
SELECT
toUInt32OrNull('32'),
toUInt32OrNull('abc')
FORMAT VerticalRow 1:
──────
toUInt32OrNull('32'): 32
toUInt32OrNull('abc'): ᴺᵁᴸᴸ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
NaNetInf. - Représentations sous forme de chaîne de valeurs binaires et hexadécimales, par exemple
SELECT toUInt32OrZero('0xc0fe');.
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
SELECT
toUInt32OrZero('32'),
toUInt32OrZero('abc')
FORMAT VerticalRow 1:
──────
toUInt32OrZero('32'): 32
toUInt32OrZero('abc'): 0toUInt64
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
NaNetInf. - Représentations sous forme de chaîne de valeurs binaires et hexadécimales, par exemple
SELECT toUInt64('0xc0fe');.
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
SELECT
toUInt64(64),
toUInt64(64.64),
toUInt64('64')
FORMAT VerticalRow 1:
──────
toUInt64(64): 64
toUInt64(64.64): 64
toUInt64('64'): 64toUInt64OrDefault
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.Stringou(U)Int*ouFloat*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
SELECT toUInt64OrDefault('64', CAST('0', 'UInt64'))64Conversion échouée
SELECT toUInt64OrDefault('abc', CAST('0', 'UInt64'))0toUInt64OrNull
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
NaNetInf. - Représentations sous forme de chaîne de valeurs binaires et hexadécimales, par ex.
SELECT toUInt64OrNull('0xc0fe');.
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
SELECT
toUInt64OrNull('64'),
toUInt64OrNull('abc')
FORMAT VerticalRow 1:
──────
toUInt64OrNull('64'): 64
toUInt64OrNull('abc'): ᴺᵁᴸᴸ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
NaNetInf. - Représentations sous forme de chaîne de valeurs binaires et hexadécimales, par exemple
SELECT toUInt64OrZero('0xc0fe');.
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
SELECT
toUInt64OrZero('64'),
toUInt64OrZero('abc')
FORMAT VerticalRow 1:
──────
toUInt64OrZero('64'): 64
toUInt64OrZero('abc'): 0toUInt8
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
NaNetInf. - Représentations sous forme de chaîne de valeurs binaires et hexadécimales, par exemple
SELECT toUInt8('0xc0fe');.
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
SELECT
toUInt8(8),
toUInt8(8.8),
toUInt8('8')
FORMAT VerticalRow 1:
──────
toUInt8(8): 8
toUInt8(8.8): 8
toUInt8('8'): 8toUInt8OrDefault
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.Stringou(U)Int*ouFloat*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
SELECT toUInt8OrDefault('8', CAST('0', 'UInt8'))8Conversion échouée
SELECT toUInt8OrDefault('abc', CAST('0', 'UInt8'))0toUInt8OrNull
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 (U)Int8/16/32/128/256.
Arguments non pris en charge (renvoient NULL) :
- Représentations sous forme de chaîne de valeurs Float* ordinaires, y compris
NaNetInf. - Représentations sous forme de chaîne de valeurs binaires et hexadécimales, par ex.
SELECT toUInt8OrNull('0xc0fe');.
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
SELECT
toUInt8OrNull('42'),
toUInt8OrNull('abc')
FORMAT VerticalRow 1:
──────
toUInt8OrNull('42'): 42
toUInt8OrNull('abc'): ᴺᵁᴸᴸ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
NaNetInf. - Représentations sous forme de chaîne de valeurs binaires et hexadécimales, par exemple
SELECT toUInt8OrZero('0xc0fe');.
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
SELECT
toUInt8OrZero('-8'),
toUInt8OrZero('abc')
FORMAT VerticalRow 1:
──────
toUInt8OrZero('-8'): 0
toUInt8OrZero('abc'): 0toUUID
Introduit dans : v1.1.0
Convertit une valeur de type String en une valeur UUID.
Syntaxe
toUUID(string)Arguments
string— UUID sous forme de chaîne.StringouFixedString
Valeur renvoyée
Renvoie un UUID à partir de la représentation sous forme de chaîne de l'UUID. UUID
Exemples
Exemple d'utilisation
SELECT toUUID('61f0c404-5cb3-11e7-907b-a6006ad3dba0') AS uuid┌─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
SELECT
toUUIDOrZero('550e8400-e29b-41d4-a716-446655440000') AS valid_uuid,
toUUIDOrZero('invalid-uuid') AS invalid_uuid┌─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.
Syntaxe
toUnixTimestamp64Micro(value)Arguments
value— ValeurDateTime64avec une précision quelconque.DateTime64
Valeur renvoyée
Renvoie un timestamp Unix en microsecondes. Int64
Exemples
Exemple d’utilisation
WITH toDateTime64('2025-02-13 23:31:31.011123', 6, 'UTC') AS dt64
SELECT toUnixTimestamp64Micro(dt64);┌─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.
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
WITH toDateTime64('2025-02-13 23:31:31.011', 3, 'UTC') AS dt64
SELECT toUnixTimestamp64Milli(dt64);┌─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.
Syntaxe
toUnixTimestamp64Nano(value)Arguments
value— ValeurDateTime64avec une précision quelconque.DateTime64
Valeur renvoyée
Renvoie un timestamp Unix en nanosecondes. Int64
Exemples
Exemple d’utilisation
WITH toDateTime64('2025-02-13 23:31:31.011123456', 9, 'UTC') AS dt64
SELECT toUnixTimestamp64Nano(dt64);┌─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.
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
WITH toDateTime64('2025-02-13 23:31:31.011', 3, 'UTC') AS dt64
SELECT toUnixTimestamp64Second(dt64);┌─toUnixTimestamp64Second(dt64)─┐
│ 1739489491 │
└───────────────────────────────┘