Saltar al contenido principal

Problemas habituales con la conversión de datos

ClickHouse generalmente utiliza el mismo comportamiento que los programas en C++. Las funciones to<type> y cast se comportan de manera diferente en algunos casos, por ejemplo con LowCardinality: cast elimina la propiedad LowCardinality, mientras que las funciones to<type> no. Lo mismo ocurre con Nullable; este comportamiento no es compatible con el estándar SQL y puede modificarse mediante la configuración cast_keep_nullable.
Tenga en cuenta la posible pérdida de datos si los valores de un tipo de datos se convierten a otro más pequeño (por ejemplo, de Int64 a Int32) o entre tipos de datos incompatibles (por ejemplo, de String a Int). Asegúrese de comprobar cuidadosamente si el resultado es el esperado.
Ejemplo:
SELECT
    toTypeName(toLowCardinality('') AS val) AS source_type,
    toTypeName(toString(val)) AS to_type_result_type,
    toTypeName(CAST(val, 'String')) AS cast_result_type

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

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

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

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

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

Notas sobre las funciones toString

La familia de funciones toString permite convertir entre números, cadenas (pero no cadenas de longitud fija), fechas y valores de fecha y hora. Todas estas funciones aceptan un argumento.
  • Al convertir una cadena o a partir de una cadena, el valor se formatea o se analiza según las mismas reglas que en el formato TabSeparated (y en casi todos los demás formatos de texto). Si la cadena no se puede analizar, se lanza una excepción y se cancela la solicitud.
  • Al convertir fechas en números o viceversa, la fecha corresponde al número de días transcurridos desde el inicio de la época Unix.
  • Al convertir valores de fecha y hora en números o viceversa, el valor de fecha y hora corresponde al número de segundos transcurridos desde el inicio de la época Unix.
  • La función toString del argumento DateTime puede aceptar un segundo argumento String que contenga el nombre de la zona horaria, por ejemplo: Europe/Amsterdam. En este caso, la hora se formatea según la zona horaria especificada.

Notas sobre las funciones toDate/toDateTime

Los formatos de fecha y fecha con hora de las funciones toDate/toDateTime se definen de la siguiente manera:
YYYY-MM-DD
YYYY-MM-DD hh:mm:ss
Como excepción, si se convierte de tipos numéricos UInt32, Int32, UInt64 o Int64 a Date, y si el número es mayor o igual que 65536, este se interpreta como una marca de tiempo Unix (y no como un número de días) y se redondea a una fecha. Esto permite admitir el caso habitual de escribir toDate(unix_timestamp), que de otro modo sería un error y obligaría a escribir la forma más engorrosa toDate(toDateTime(unix_timestamp)). La conversión entre una fecha y una fecha con hora se realiza de la forma natural: añadiendo una hora nula o eliminando la hora. La conversión entre tipos numéricos utiliza las mismas reglas que las asignaciones entre distintos tipos numéricos en C++. Ejemplo
Query
SELECT
    now() AS ts,
    time_zone,
    toString(ts, time_zone) AS str_tz_datetime
FROM system.time_zones
WHERE time_zone LIKE 'Europe%'
LIMIT 10
Response
┌──────────────────ts─┬─time_zone─────────┬─str_tz_datetime─────┐
│ 2023-09-08 19:14:59 │ Europe/Amsterdam  │ 2023-09-08 21:14:59 │
│ 2023-09-08 19:14:59 │ Europe/Andorra    │ 2023-09-08 21:14:59 │
│ 2023-09-08 19:14:59 │ Europe/Astrakhan  │ 2023-09-08 23:14:59 │
│ 2023-09-08 19:14:59 │ Europe/Athens     │ 2023-09-08 22:14:59 │
│ 2023-09-08 19:14:59 │ Europe/Belfast    │ 2023-09-08 20:14:59 │
│ 2023-09-08 19:14:59 │ Europe/Belgrade   │ 2023-09-08 21:14:59 │
│ 2023-09-08 19:14:59 │ Europe/Berlin     │ 2023-09-08 21:14:59 │
│ 2023-09-08 19:14:59 │ Europe/Bratislava │ 2023-09-08 21:14:59 │
│ 2023-09-08 19:14:59 │ Europe/Brussels   │ 2023-09-08 21:14:59 │
│ 2023-09-08 19:14:59 │ Europe/Bucharest  │ 2023-09-08 22:14:59 │
└─────────────────────┴───────────────────┴─────────────────────┘
Consulte también la función toUnixTimestamp.

CAST

Introducido en: v1.1.0 Convierte un valor a un tipo de dato específico. A diferencia de la función reinterpret, CAST intenta generar el mismo valor en el tipo de destino. Si no es posible, se genera una excepción. Sintaxis
CAST(x, T)
or CAST(x AS T)
or x::T
Argumentos
  • x — Un valor de cualquier tipo. Any
  • T — El tipo de datos de destino. String
Valor devuelto Devuelve el valor convertido al tipo de datos de destino. Any Ejemplos Uso básico
Query
SELECT CAST(42, 'String')
Response
┌─CAST(42, 'String')─┐
│ 42                 │
└────────────────────┘
Uso de la sintaxis AS
Query
SELECT CAST('2025-01-01' AS Date)
Response
┌─CAST('2025-01-01', 'Date')─┐
│                 2025-01-01 │
└────────────────────────────┘
Uso de la sintaxis ::
Query
SELECT '123'::UInt32
Response
┌─CAST('123', 'UInt32')─┐
│                   123 │
└───────────────────────┘

DATE

Introducido en: v21.2.0 Convierte el argumento al tipo de dato Date. Es un alias de compatibilidad con MySQL para toDate. Se comporta igual que toDate. Sintaxis
DATE(expr)
Argumentos Valor devuelto Devuelve un valor de tipo Date. Date Ejemplos Uso básico
Query
SELECT DATE('2023-01-01')
Response
2023-01-01

accurateCast

Introducido en: v1.1.0 Convierte un valor al tipo de dato especificado. A diferencia de CAST, accurateCast realiza una comprobación de tipos más estricta y lanza una excepción si la conversión provoca una pérdida de precisión de los datos o si la conversión no es posible. Esta función es más segura que CAST, ya que evita la pérdida de precisión y las conversiones no válidas. Sintaxis
accurateCast(x, T)
Argumentos
  • x — Un valor para convertir. Any
  • T — El nombre del tipo de dato de destino. String
Valor devuelto Devuelve el valor convertido al tipo de dato de destino. Any Ejemplos Conversión correcta
Query
SELECT accurateCast(42, 'UInt16')
Response
┌─accurateCast(42, 'UInt16')─┐
│                        42 │
└───────────────────────────┘
De String a número
Query
SELECT accurateCast('123.45', 'Float64')
Response
┌─accurateCast('123.45', 'Float64')─┐
│                            123.45 │
└───────────────────────────────────┘

accurateCastOrDefault

Introducido en: v21.1.0 Convierte un valor a un tipo de datos especificado. Como accurateCast, pero devuelve un valor predeterminado en lugar de lanzar una excepción si la conversión no puede realizarse con precisión. Si se proporciona un valor predeterminado como segundo argumento, debe ser del tipo de destino. Si no se proporciona ningún valor predeterminado, se utiliza el valor predeterminado del tipo de destino. Sintaxis
accurateCastOrDefault(x, T[, default_value])
Argumentos
  • x — Un valor que se convertirá. Any
  • T — El nombre del tipo de dato de destino. const String
  • default_value — Opcional. Valor por defecto que se devuelve si la conversión falla. Any
Valor devuelto Devuelve el valor convertido al tipo de dato de destino, o el valor por defecto si la conversión no es posible. Any Ejemplos Conversión exitosa
Query
SELECT accurateCastOrDefault(42, 'String')
Response
┌─accurateCastOrDefault(42, 'String')─┐
│ 42                                  │
└─────────────────────────────────────┘
Conversión fallida con valor predeterminado explícito
Query
SELECT accurateCastOrDefault('abc', 'UInt32', 999::UInt32)
Response
┌─accurateCastOrDefault('abc', 'UInt32', 999)─┐
│                                         999 │
└─────────────────────────────────────────────┘
Conversión fallida con valor predeterminado implícito
Query
SELECT accurateCastOrDefault('abc', 'UInt32')
Response
┌─accurateCastOrDefault('abc', 'UInt32')─┐
│                                      0 │
└────────────────────────────────────────┘

accurateCastOrNull

Introducido en: v1.1.0 Convierte un valor a un tipo de dato especificado. Como accurateCast, pero devuelve NULL en lugar de generar una excepción si la conversión no puede realizarse con precisión. Esta función combina la seguridad de accurateCast con un manejo adecuado de errores. Sintaxis
accurateCastOrNull(x, T)
Argumentos
  • x — Un valor que se va a convertir. Any
  • T — El nombre del tipo de dato de destino. String
Valor devuelto Devuelve el valor convertido al tipo de dato de destino, o NULL si la conversión no es posible. Any Ejemplos Conversión correcta
Query
SELECT accurateCastOrNull(42, 'String')
Response
┌─accurateCastOrNull(42, 'String')─┐
│ 42                               │
└──────────────────────────────────┘
Si la conversión falla, devuelve NULL
Query
SELECT accurateCastOrNull('abc', 'UInt32')
Response
┌─accurateCastOrNull('abc', 'UInt32')─┐
│                                ᴺᵁᴸᴸ │
└─────────────────────────────────────┘

formatRow

Introducido en: v20.7.0 Convierte expresiones arbitrarias en una cadena usando el formato indicado.
Si el formato contiene un sufijo/prefijo, se escribirá en cada fila. Esta función solo admite formatos por filas.
Sintaxis
formatRow(format, x, y, ...)
Argumentos
  • format — Formato de texto. Por ejemplo, CSV, TSV. String
  • x, y, ... — Expresiones. Any
Valor devuelto Una cadena formateada. (en los formatos de texto, suele terminar con un carácter de nueva línea). String Ejemplos Uso básico
Query
SELECT formatRow('CSV', number, 'good')
FROM numbers(3)
Response
┌─formatRow('CSV', number, 'good')─┐
│ 0,"good"

│ 1,"good"

│ 2,"good"

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

formatRowNoNewline

Introducido en: v20.7.0 Igual que formatRow, pero elimina el carácter de nueva línea de cada fila. Convierte expresiones arbitrarias en una cadena con el formato especificado, pero elimina cualquier carácter de nueva línea al final del resultado. Sintaxis
formatRowNoNewline(format, x, y, ...)
Argumentos
  • format — Formato de texto. Por ejemplo, CSV, TSV. String
  • x, y, ... — Expresiones. Any
Valor devuelto Devuelve una cadena formateada sin saltos de línea. String Ejemplos Uso básico
Query
SELECT formatRowNoNewline('CSV', number, 'good')
FROM numbers(3)
Response
┌─formatRowNoNewline('CSV', number, 'good')─┐
│ 0,"good"                                  │
│ 1,"good"                                  │
│ 2,"good"                                  │
└───────────────────────────────────────────┘

fromUnixTimestamp64Micro

Introducido en: v20.5.0 Convierte una marca de tiempo Unix en microsegundos en un valor DateTime64 con precisión de microsegundos. El valor de entrada se interpreta como una marca de tiempo Unix con precisión de microsegundos (número de microsegundos desde 1970-01-01 00:00:00 UTC). Sintaxis
fromUnixTimestamp64Micro(value[, timezone])
Argumentos
  • value — Marca de tiempo Unix en microsegundos. Int64
  • timezone — Opcional. Zona horaria del valor devuelto. String
Valor devuelto Devuelve un valor DateTime64 con precisión de microsegundos. DateTime64(6) Ejemplos Ejemplo de uso
Query
SELECT fromUnixTimestamp64Micro(1640995200123456)
Response
┌─fromUnixTimestamp64Micro(1640995200123456)─┐
│                 2022-01-01 00:00:00.123456 │
└────────────────────────────────────────────┘

fromUnixTimestamp64Milli

Introducido en: v20.5.0 Convierte una marca de tiempo Unix en milisegundos en un valor DateTime64 con precisión de milisegundos. El valor de entrada se trata como una marca de tiempo Unix con precisión de milisegundos (número de milisegundos transcurridos desde 1970-01-01 00:00:00 UTC). Sintaxis
fromUnixTimestamp64Milli(value[, timezone])
Argumentos
  • value — Marca de tiempo Unix en milisegundos. Int64
  • timezone — Opcional. Zona horaria del valor devuelto. String
Valor devuelto Un valor DateTime64 con precisión de milisegundos. DateTime64(3) Ejemplos Ejemplo de uso
Query
SELECT fromUnixTimestamp64Milli(1640995200123)
Response
┌─fromUnixTimestamp64Milli(1640995200123)─┐
│                 2022-01-01 00:00:00.123 │
└─────────────────────────────────────────┘

fromUnixTimestamp64Nano

Introducido en: v20.5.0 Convierte una marca de tiempo Unix en nanosegundos en un valor DateTime64 con precisión de nanosegundos. El valor de entrada se interpreta como una marca de tiempo Unix con precisión de nanosegundos (número de nanosegundos transcurridos desde 1970-01-01 00:00:00 UTC).
Ten en cuenta que el valor de entrada se interpreta como una marca de tiempo en UTC, no según la zona horaria del valor de entrada.
Sintaxis
fromUnixTimestamp64Nano(value[, timezone])
Argumentos
  • value — marca de tiempo Unix en nanosegundos. Int64
  • timezone — Opcional. Zona horaria del valor devuelto. String
Valor devuelto Devuelve un valor DateTime64 con precisión de nanosegundos. DateTime64(9) Ejemplos Ejemplo de uso
Query
SELECT fromUnixTimestamp64Nano(1640995200123456789)
Response
┌─fromUnixTimestamp64Nano(1640995200123456789)─┐
│                2022-01-01 00:00:00.123456789 │
└──────────────────────────────────────────────┘

fromUnixTimestamp64Second

Introducido en: v24.12.0 Convierte una marca de tiempo Unix en segundos en un valor DateTime64 con precisión de segundos. El valor de entrada se trata como una marca de tiempo Unix con precisión de segundos (número de segundos desde 1970-01-01 00:00:00 UTC). Sintaxis
fromUnixTimestamp64Second(value[, timezone])
Argumentos
  • value — marca de tiempo Unix en segundos. Int64
  • timezone — Opcional. Zona horaria del valor devuelto. String
Valor devuelto Devuelve un valor DateTime64 con precisión de segundos. DateTime64(0) Ejemplos Ejemplo de uso
Query
SELECT fromUnixTimestamp64Second(1640995200)
Response
┌─fromUnixTimestamp64Second(1640995200)─┐
│                   2022-01-01 00:00:00 │
└───────────────────────────────────────┘

parseDateTime

Introducido en: v23.3.0 Convierte una cadena de fecha y hora según una cadena de formato de fecha de MySQL. Esta función es la inversa de formatDateTime. Convierte un argumento String usando una String de formato. Devuelve un valor de tipo DateTime. Sintaxis
parseDateTime(time_string, format[, timezone])
Aliases: TO_UNIXTIME Argumentos
  • time_string — Cadena que se analizará para convertirla en DateTime. String
  • format — Cadena de formato que especifica cómo analizar time_string. String
  • timezone — Opcional. Zona horaria. String
Valor devuelto Devuelve un DateTime obtenido al analizar la cadena de entrada según la cadena de formato de estilo MySQL. DateTime Ejemplos Ejemplo de uso
Query
SELECT parseDateTime('2025-01-04+23:00:00', '%Y-%m-%d+%H:%i:%s')
Response
┌─parseDateTime('2025-01-04+23:00:00', '%Y-%m-%d+%H:%i:%s')─┐
│                                       2025-01-04 23:00:00 │
└───────────────────────────────────────────────────────────┘

parseDateTime32BestEffort

Introducido en: v20.9.0 Convierte una representación textual de una fecha y hora al tipo de dato DateTime. La función interpreta ISO 8601, RFC 1123 - 5.2.14 RFC-822 Date and Time Specification, los formatos de fecha y hora de ClickHouse y algunos otros. Sintaxis
parseDateTime32BestEffort(time_string[, time_zone])
Argumentos
  • time_stringString que contiene una fecha y hora para convertir. String
  • time_zone — Opcional. Zona horaria usada para analizar time_string String
Valor devuelto Devuelve time_string como un DateTime. DateTime Ejemplos Ejemplo de uso
Query
SELECT parseDateTime32BestEffort('23/10/2025 12:12:57')
AS parseDateTime32BestEffort
Response
┌─parseDateTime32BestEffort─┐
│       2025-10-23 12:12:57 │
└───────────────────────────┘
Con zona horaria
Query
SELECT parseDateTime32BestEffort('Sat, 18 Aug 2025 07:22:16 GMT', 'Asia/Istanbul')
AS parseDateTime32BestEffort
Response
┌─parseDateTime32BestEffort─┐
│       2025-08-18 10:22:16 │
└───────────────────────────┘
marca de tiempo Unix
Query
SELECT parseDateTime32BestEffort('1284101485')
AS parseDateTime32BestEffort
Response
┌─parseDateTime32BestEffort─┐
│       2015-07-07 12:04:41 │
└───────────────────────────┘

parseDateTime32BestEffortOrNull

Introducido en: v20.9.0 Igual que parseDateTime32BestEffort, salvo que devuelve NULL cuando encuentra un formato de fecha que no se puede procesar. Sintaxis
parseDateTime32BestEffortOrNull(time_string[, time_zone])
Argumentos
  • time_string — String que contiene una fecha y hora que se va a convertir. String
  • time_zone — Opcional. Zona horaria según la cual se analiza time_string. String
Valor devuelto Devuelve un objeto DateTime obtenido al analizar la cadena, o NULL si el análisis falla. DateTime Ejemplos Ejemplo de uso
Query
SELECT
    parseDateTime32BestEffortOrNull('23/10/2025 12:12:57') AS valid,
    parseDateTime32BestEffortOrNull('invalid date') AS invalid
Response
┌─valid───────────────┬─invalid─┐
│ 2025-10-23 12:12:57 │    ᴺᵁᴸᴸ │
└─────────────────────┴─────────┘

parseDateTime32BestEffortOrZero

Introducido en: v20.9.0 Igual que parseDateTime32BestEffort, salvo que devuelve una fecha cero o una fecha y hora cero cuando encuentra un formato de fecha que no se puede procesar. Sintaxis
parseDateTime32BestEffortOrZero(time_string[, time_zone])
Argumentos
  • time_stringString que contiene una fecha y hora para convertir. String
  • time_zone — Opcional. Zona horaria según la cual se analiza time_string. String
Valor devuelto Devuelve un objeto DateTime obtenido a partir de la cadena o la fecha cero (1970-01-01 00:00:00) si el análisis falla. DateTime Ejemplos Ejemplo de uso
Query
SELECT
    parseDateTime32BestEffortOrZero('23/10/2025 12:12:57') AS valid,
    parseDateTime32BestEffortOrZero('invalid date') AS invalid
Response
┌─valid───────────────┬─invalid─────────────┐
│ 2025-10-23 12:12:57 │ 1970-01-01 00:00:00 │
└─────────────────────┴─────────────────────┘

parseDateTime64

Introducido en: v24.11.0 Analiza una cadena de fecha y hora con precisión de subsegundos según una cadena de formato de fecha de MySQL. Esta función es la inversa de formatDateTime para DateTime64. Analiza un argumento de tipo String usando un formato String. Devuelve un valor de tipo DateTime64 que puede representar fechas de 1900 a 2299 con precisión de subsegundos. Sintaxis
parseDateTime64(time_string, format[, timezone])
Argumentos
  • time_string — Cadena que se interpretará como DateTime64. String
  • format — Cadena de formato que especifica cómo interpretar time_string. String
  • timezone — Opcional. Zona horaria. String
Valor devuelto Devuelve un DateTime64 obtenido al interpretar la cadena de entrada según la cadena de formato de estilo MySQL. DateTime64 Ejemplos Ejemplo de uso
Query
SELECT parseDateTime64('2025-01-04 23:00:00.123', '%Y-%m-%d %H:%i:%s.%f')
Response
┌─parseDateTime64('2025-01-04 23:00:00.123', '%Y-%m-%d %H:%i:%s.%f')─┐
│                                       2025-01-04 23:00:00.123       │
└─────────────────────────────────────────────────────────────────────┘

parseDateTime64BestEffort

Introducido en: v20.1.0 Igual que la función parseDateTimeBestEffort, pero también analiza milisegundos y microsegundos, y devuelve el tipo de dato DateTime64. Sintaxis
parseDateTime64BestEffort(time_string[, precision[, time_zone]])
Argumentos
  • time_string — Cadena que contiene una fecha o una fecha con hora para convertir. String
  • precision — Opcional. Precisión requerida. 3 para milisegundos, 6 para microsegundos. Valor predeterminado: 3. UInt8
  • time_zone — Opcional. Zona horaria. La función interpreta time_string según la zona horaria. String
Valor devuelto Devuelve time_string convertido al tipo de dato DateTime64. DateTime64 Ejemplos Ejemplo de uso
Query
SELECT parseDateTime64BestEffort('2025-01-01') AS a, toTypeName(a) AS t
UNION ALL
SELECT parseDateTime64BestEffort('2025-01-01 01:01:00.12346') AS a, toTypeName(a) AS t
UNION ALL
SELECT parseDateTime64BestEffort('2025-01-01 01:01:00.12346',6) AS a, toTypeName(a) AS t
UNION ALL
SELECT parseDateTime64BestEffort('2025-01-01 01:01:00.12346',3,'Asia/Istanbul') AS a, toTypeName(a) AS t
FORMAT PrettyCompactMonoBlock
Response
┌──────────────────────────a─┬─t──────────────────────────────┐
│ 2025-01-01 01:01:00.123000 │ DateTime64(3)                  │
│ 2025-01-01 00:00:00.000000 │ DateTime64(3)                  │
│ 2025-01-01 01:01:00.123460 │ DateTime64(6)                  │
│ 2025-12-31 22:01:00.123000 │ DateTime64(3, 'Asia/Istanbul') │
└────────────────────────────┴────────────────────────────────┘

parseDateTime64BestEffortOrNull

Introducido en: v20.1.0 Igual que parseDateTime64BestEffort, excepto que devuelve NULL cuando encuentra un formato de fecha que no puede procesarse. Sintaxis
parseDateTime64BestEffortOrNull(time_string[, precision[, time_zone]])
Argumentos
  • time_string — Cadena que contiene una fecha o una fecha con hora para convertir. String
  • precision — Opcional. Precisión requerida. 3 para milisegundos, 6 para microsegundos. Valor predeterminado: 3. UInt8
  • time_zone — Opcional. Zona horaria. La función interpreta time_string según la zona horaria. String
Valor devuelto Devuelve time_string convertido a DateTime64, o NULL si no se puede interpretar la entrada. DateTime64 o NULL Ejemplos Ejemplo de uso
Query
SELECT parseDateTime64BestEffortOrNull('2025-01-01 01:01:00.123') AS valid,
       parseDateTime64BestEffortOrNull('invalid') AS invalid
Response
┌─valid───────────────────┬─invalid─┐
│ 2025-01-01 01:01:00.123 │    ᴺᵁᴸᴸ │
└─────────────────────────┴─────────┘

parseDateTime64BestEffortOrZero

Introducido en: v20.1.0 Igual que parseDateTime64BestEffort, excepto que devuelve una fecha cero o una fecha y hora cero cuando encuentra un formato de fecha que no puede procesarse. Sintaxis
parseDateTime64BestEffortOrZero(time_string[, precision[, time_zone]])
Argumentos
  • time_stringString que contiene una fecha o una fecha con hora para convertir. String
  • precision — Opcional. Precisión requerida. 3 para milisegundos, 6 para microsegundos. Valor predeterminado: 3. UInt8
  • time_zone — Opcional. Zona horaria. La función interpreta time_string según la zona horaria. String
Valor devuelto Devuelve time_string convertido a DateTime64, o una fecha cero/datetime (1970-01-01 00:00:00.000) si no se puede analizar la entrada. DateTime64 Ejemplos Ejemplo de uso
Query
SELECT parseDateTime64BestEffortOrZero('2025-01-01 01:01:00.123') AS valid,
       parseDateTime64BestEffortOrZero('invalid') AS invalid
Response
┌─valid───────────────────┬─invalid─────────────────┐
│ 2025-01-01 01:01:00.123 │ 1970-01-01 00:00:00.000 │
└─────────────────────────┴─────────────────────────┘

parseDateTime64BestEffortUS

Introducido en: v22.8.0 Igual que parseDateTime64BestEffort, salvo que esta función prioriza el formato de fecha de EE. UU. (MM/DD/YYYY, etc.) en caso de ambigüedad. Sintaxis
parseDateTime64BestEffortUS(time_string [, precision [, time_zone]])
Argumentos
  • time_string — Cadena que contiene una fecha o una fecha con hora para convertir. String
  • precision — Opcional. Precisión requerida. 3 para milisegundos, 6 para microsegundos. Valor predeterminado: 3. UInt8
  • time_zone — Opcional. Zona horaria. La función interpreta time_string según la zona horaria. String
Valor devuelto Devuelve time_string convertido a DateTime64, con preferencia por el formato de fecha de EE. UU. en casos ambiguos. DateTime64 Ejemplos Ejemplo de uso
Query
SELECT parseDateTime64BestEffortUS('02/10/2025 12:30:45.123') AS us_format,
       parseDateTime64BestEffortUS('15/08/2025 10:15:30.456') AS fallback_to_standard
Response
┌─us_format───────────────┬─fallback_to_standard────┐
│ 2025-02-10 12:30:45.123 │ 2025-08-15 10:15:30.456 │
└─────────────────────────┴─────────────────────────┘

parseDateTime64BestEffortUSOrNull

Introducido en: v22.8.0 Igual que parseDateTime64BestEffort, salvo que esta función prioriza el formato de fecha de EE. UU. (MM/DD/YYYY, etc.) en caso de ambigüedad y devuelve NULL cuando encuentra un formato de fecha que no puede procesarse. Sintaxis
parseDateTime64BestEffortUSOrNull(time_string[, precision[, time_zone]])
Argumentos
  • time_string — Cadena que contiene una fecha o una fecha con hora para convertir. String
  • precision — Opcional. Precisión requerida. 3 para milisegundos, 6 para microsegundos. Valor predeterminado: 3. UInt8
  • time_zone — Opcional. Zona horaria. La función interpreta time_string según la zona horaria. String
Valor devuelto Devuelve time_string convertido a DateTime64 con preferencia por el formato de EE. UU., o NULL si la entrada no se puede interpretar. DateTime64 o NULL Ejemplos Ejemplo de uso
Query
SELECT parseDateTime64BestEffortUSOrNull('02/10/2025 12:30:45.123') AS valid_us,
       parseDateTime64BestEffortUSOrNull('invalid') AS invalid
Response
┌─valid_us────────────────┬─invalid─┐
│ 2025-02-10 12:30:45.123 │    ᴺᵁᴸᴸ │
└─────────────────────────┴─────────┘

parseDateTime64BestEffortUSOrZero

Introducido en: v22.8.0 Igual que parseDateTime64BestEffort, salvo que esta función da preferencia al formato de fecha de EE. UU. (MM/DD/YYYY, etc.) en caso de ambigüedad y devuelve una fecha cero o una fecha y hora cero cuando encuentra un formato de fecha que no puede procesarse. Sintaxis
parseDateTime64BestEffortUSOrZero(time_string [, precision [, time_zone]])
Argumentos
  • time_stringString que contiene una fecha o una fecha con hora para convertir. String
  • precision — Opcional. Precisión requerida. 3 para milisegundos, 6 para microsegundos. Valor predeterminado: 3. UInt8
  • time_zone — Opcional. Zona horaria. La función interpreta time_string según la zona horaria. String
Valor devuelto Devuelve time_string convertido a DateTime64 con preferencia por el formato de EE. UU., o una fecha/fecha y hora cero (1970-01-01 00:00:00.000) si no se puede analizar la entrada. DateTime64 Ejemplos Ejemplo de uso
Query
SELECT parseDateTime64BestEffortUSOrZero('02/10/2025 12:30:45.123') AS valid_us,
       parseDateTime64BestEffortUSOrZero('invalid') AS invalid
Response
┌─valid_us────────────────┬─invalid─────────────────┐
│ 2025-02-10 12:30:45.123 │ 1970-01-01 00:00:00.000 │
└─────────────────────────┴─────────────────────────┘

parseDateTime64InJodaSyntax

Introducido en: v24.10.0 Analiza una cadena de fecha y hora con precisión inferior al segundo según una cadena de formato de fecha de Joda. Esta función es la inversa de formatDateTimeInJodaSyntax para DateTime64. Analiza un argumento String con una cadena de formato String de estilo Joda. Devuelve un tipo DateTime64 que puede representar fechas de 1900 a 2299 con precisión inferior al segundo. Consulta la documentación de Joda Time para conocer los patrones de formato. Sintaxis
parseDateTime64InJodaSyntax(time_string, format[, timezone])
Argumentos
  • time_string — Cadena que se convertirá en DateTime64. String
  • format — Cadena de formato en sintaxis Joda que especifica cómo interpretar time_string. String
  • timezone — Opcional. Zona horaria. String
Valor devuelto Devuelve un DateTime64 obtenido a partir de la cadena de entrada según la cadena de formato de estilo Joda. DateTime64 Ejemplos Ejemplo de uso
Query
SELECT parseDateTime64InJodaSyntax('2025-01-04 23:00:00.123', 'yyyy-MM-dd HH:mm:ss.SSS')
Response
┌─parseDateTime64InJodaSyntax('2025-01-04 23:00:00.123', 'yyyy-MM-dd HH:mm:ss.SSS')─┐
│                                                          2025-01-04 23:00:00.123   │
└────────────────────────────────────────────────────────────────────────────────────┘

parseDateTime64InJodaSyntaxOrNull

Introducido en: v24.10.0 Igual que parseDateTime64InJodaSyntax, pero devuelve NULL cuando encuentra un formato de fecha que no se puede analizar. Sintaxis
parseDateTime64InJodaSyntaxOrNull(time_string, format[, timezone])
Argumentos
  • time_string — Cadena que se analizará como DateTime64. String
  • format — Cadena de formato en sintaxis Joda que especifica cómo analizar time_string. String
  • timezone — Opcional. Zona horaria. String
Valor devuelto Devuelve el valor DateTime64 analizado a partir de la cadena de entrada, o NULL si el análisis falla. Nullable(DateTime64) Ejemplos Ejemplo de uso
Query
SELECT parseDateTime64InJodaSyntaxOrNull('2025-01-04 23:00:00.123', 'yyyy-MM-dd HH:mm:ss.SSS')
Response
┌─parseDateTime64InJodaSyntaxOrNull('2025-01-04 23:00:00.123', 'yyyy-MM-dd HH:mm:ss.SSS')─┐
│                                                             2025-01-04 23:00:00.123      │
└──────────────────────────────────────────────────────────────────────────────────────────┘

parseDateTime64InJodaSyntaxOrZero

Introducido en: v24.10.0 Igual que parseDateTime64InJodaSyntax, pero devuelve una fecha cero cuando encuentra un formato de fecha que no se puede analizar. Sintaxis
parseDateTime64InJodaSyntaxOrZero(time_string, format[, timezone])
Argumentos
  • time_string — String que se convertirá en DateTime64. String
  • format — Cadena de formato en sintaxis Joda que especifica cómo interpretar time_string. String
  • timezone — Opcional. Zona horaria. String
Valor devuelto Devuelve el DateTime64 interpretado a partir de la cadena de entrada, o el valor cero de DateTime64 si el análisis falla. DateTime64 Ejemplos Ejemplo de uso
Query
SELECT parseDateTime64InJodaSyntaxOrZero('2025-01-04 23:00:00.123', 'yyyy-MM-dd HH:mm:ss.SSS')
Response
┌─parseDateTime64InJodaSyntaxOrZero('2025-01-04 23:00:00.123', 'yyyy-MM-dd HH:mm:ss.SSS')─┐
│                                                              2025-01-04 23:00:00.123     │
└──────────────────────────────────────────────────────────────────────────────────────────┘

parseDateTime64OrNull

Introducido en: v24.11.0 Igual que parseDateTime64, pero devuelve NULL cuando encuentra un formato de fecha que no se puede analizar. Sintaxis
parseDateTime64OrNull(time_string, format[, timezone])
Argumentos
  • time_string — Cadena que se analizará como DateTime64. String
  • format — Cadena de formato que especifica cómo analizar time_string. String
  • timezone — Opcional. Zona horaria. String
Valor devuelto Devuelve el valor DateTime64 analizado a partir de la cadena de entrada, o NULL si el análisis falla. Nullable(DateTime64) Ejemplos Ejemplo de uso
Query
SELECT parseDateTime64OrNull('2025-01-04 23:00:00.123', '%Y-%m-%d %H:%i:%s.%f')
Response
┌─parseDateTime64OrNull('2025-01-04 23:00:00.123', '%Y-%m-%d %H:%i:%s.%f')─┐
│                                            2025-01-04 23:00:00.123        │
└───────────────────────────────────────────────────────────────────────────┘

parseDateTime64OrZero

Introducido en: v24.11.0 Igual que parseDateTime64, pero devuelve una fecha cero cuando encuentra un formato de fecha que no se puede analizar. Sintaxis
parseDateTime64OrZero(time_string, format[, timezone])
Argumentos
  • time_string — Cadena que se interpretará como DateTime64. String
  • format — Cadena de formato que especifica cómo interpretar time_string. String
  • timezone — Opcional. Zona horaria. String
Valor devuelto Devuelve un DateTime64 interpretado a partir de la cadena de entrada, o el valor cero de DateTime64 si el análisis falla. DateTime64 Ejemplos Ejemplo de uso
Query
SELECT parseDateTime64OrZero('2025-01-04 23:00:00.123', '%Y-%m-%d %H:%i:%s.%f')
Response
┌─parseDateTime64OrZero('2025-01-04 23:00:00.123', '%Y-%m-%d %H:%i:%s.%f')─┐
│                                             2025-01-04 23:00:00.123       │
└───────────────────────────────────────────────────────────────────────────┘

parseDateTimeBestEffort

Introducido en: v1.1.0 Convierte una fecha y hora en representación String al tipo de dato DateTime. La función analiza ISO 8601, RFC 1123 - 5.2.14 RFC-822 Date and Time Specification, los formatos de fecha y hora de ClickHouse y algunos otros. Formatos no estándar compatibles:
  • Una cadena que contiene un Unix timestamp de 9..10 dígitos.
  • Una cadena con una fecha y un componente de hora: YYYYMMDDhhmmss, DD/MM/YYYY hh:mm:ss, DD-MM-YY hh:mm, YYYY-MM-DD hh:mm:ss, etc.
  • Una cadena con una fecha, pero sin componente de hora: YYYY, YYYYMM, YYYY*MM, DD/MM/YYYY, DD-MM-YY etc.
  • Una cadena con un día y una hora: DD, DD hh, DD hh:mm. En este caso, MM se sustituye por 01.
  • Una cadena que incluye la fecha y hora junto con información del desfase de zona horaria: YYYY-MM-DD hh:mm:ss ±h:mm, etc.
  • Una marca de tiempo de syslog: Mmm dd hh:mm:ss. Por ejemplo, Jun 9 14:20:32.
En todos los formatos con separador, la función analiza nombres de meses expresados con el nombre completo o con las tres primeras letras del nombre del mes. Si no se especifica el año, se considera que es el año actual. Sintaxis
parseDateTimeBestEffort(time_string[, time_zone])
Argumentos
  • time_string — Cadena que contiene una fecha y una hora para convertir. String
  • time_zone — Opcional. Zona horaria según la cual se analiza time_string. String
Valor devuelto Devuelve time_string como DateTime. DateTime Ejemplos Ejemplo de uso
Query
SELECT parseDateTimeBestEffort('23/10/2025 12:12:57') AS parseDateTimeBestEffort
Response
┌─parseDateTimeBestEffort─┐
│     2025-10-23 12:12:57 │
└─────────────────────────┘
Con zona horaria
Query
SELECT parseDateTimeBestEffort('Sat, 18 Aug 2025 07:22:16 GMT', 'Asia/Istanbul') AS parseDateTimeBestEffort
Response
┌─parseDateTimeBestEffort─┐
│     2025-08-18 10:22:16 │
└─────────────────────────┘
Marca temporal Unix
Query
SELECT parseDateTimeBestEffort('1735689600') AS parseDateTimeBestEffort
Response
┌─parseDateTimeBestEffort─┐
│     2025-01-01 00:00:00 │
└─────────────────────────┘

parseDateTimeBestEffortOrNull

Introducido en: v1.1.0 Igual que parseDateTimeBestEffort, excepto que devuelve NULL cuando encuentra un formato de fecha que no se puede procesar. La función analiza ISO 8601, RFC 1123 - 5.2.14 RFC-822 Date and Time Specification, los formatos de fecha y hora de ClickHouse y algunos otros. Formatos no estándar admitidos:
  • Una cadena que contiene un Unix timestamp de 9..10 dígitos.
  • Una cadena con una fecha y un componente de hora: YYYYMMDDhhmmss, DD/MM/YYYY hh:mm:ss, DD-MM-YY hh:mm, YYYY-MM-DD hh:mm:ss, etc.
  • Una cadena con una fecha, pero sin componente de hora: YYYY, YYYYMM, YYYY*MM, DD/MM/YYYY, DD-MM-YY, etc.
  • Una cadena con un día y una hora: DD, DD hh, DD hh:mm. En este caso, MM se sustituye por 01.
  • Una cadena que incluye la fecha y la hora junto con información de desplazamiento de zona horaria: YYYY-MM-DD hh:mm:ss ±h:mm, etc.
  • Un timestamp de syslog: Mmm dd hh:mm:ss. Por ejemplo, Jun 9 14:20:32.
En todos los formatos con separador, la función analiza nombres de meses expresados con su nombre completo o con las tres primeras letras del nombre del mes. Si no se especifica el año, se considera que es el año actual. Sintaxis
parseDateTimeBestEffortOrNull(time_string[, time_zone])
Argumentos
  • time_stringString que contiene una fecha y hora para convertir. String
  • time_zone — Opcional. Zona horaria según la que se interpreta time_string. String
Valor devuelto Devuelve time_string como DateTime, o NULL si la entrada no se puede interpretar. DateTime o NULL Ejemplos Ejemplo de uso
Query
SELECT parseDateTimeBestEffortOrNull('23/10/2025 12:12:57') AS valid,
       parseDateTimeBestEffortOrNull('invalid') AS invalid
Response
┌─valid───────────────┬─invalid─┐
│ 2025-10-23 12:12:57 │    ᴺᵁᴸᴸ │
└─────────────────────┴─────────┘

parseDateTimeBestEffortOrZero

Introducido en: v1.1.0 Igual que parseDateTimeBestEffort, excepto que devuelve una fecha cero o una fecha y hora cero cuando encuentra un formato de fecha que no puede procesar. La función analiza ISO 8601, RFC 1123 - 5.2.14 RFC-822 Date and Time Specification, los formatos de fecha y hora de ClickHouse y algunos otros. Formatos no estándar compatibles:
  • Una cadena que contiene una marca de tiempo Unix de 9..10 dígitos.
  • Una cadena con una fecha y un componente de hora: YYYYMMDDhhmmss, DD/MM/YYYY hh:mm:ss, DD-MM-YY hh:mm, YYYY-MM-DD hh:mm:ss, etc.
  • Una cadena con una fecha, pero sin componente de hora: YYYY, YYYYMM, YYYY*MM, DD/MM/YYYY, DD-MM-YY etc.
  • Una cadena con un día y una hora: DD, DD hh, DD hh:mm. En este caso, MM se sustituye por 01.
  • Una cadena que incluye la fecha y la hora junto con información del desfase de zona horaria: YYYY-MM-DD hh:mm:ss ±h:mm, etc.
  • Una marca de tiempo de syslog: Mmm dd hh:mm:ss. Por ejemplo, Jun 9 14:20:32.
Para todos los formatos con separador, la función analiza nombres de meses expresados con su nombre completo o con las tres primeras letras del nombre del mes. Si no se especifica el año, se considera igual al año actual. Sintaxis
parseDateTimeBestEffortOrZero(time_string[, time_zone])
Argumentos
  • time_stringString que contiene una fecha y hora para convertir. String
  • time_zone — Opcional. Zona horaria según la cual se interpreta time_string. String
Valor devuelto Devuelve time_string como un DateTime, o una fecha cero/fecha y hora cero (1970-01-01 o 1970-01-01 00:00:00) si no se puede interpretar la entrada. DateTime Ejemplos Ejemplo de uso
Query
SELECT parseDateTimeBestEffortOrZero('23/10/2025 12:12:57') AS valid,
       parseDateTimeBestEffortOrZero('invalid') AS invalid
Response
┌─valid───────────────┬─invalid─────────────┐
│ 2025-10-23 12:12:57 │ 1970-01-01 00:00:00 │
└─────────────────────┴─────────────────────┘

parseDateTimeBestEffortUS

Introducido en: v1.1.0 Esta función se comporta como parseDateTimeBestEffort para formatos de fecha ISO, p. ej., YYYY-MM-DD hh:mm:ss, y otros formatos de fecha en los que los componentes de mes y día pueden extraerse de forma inequívoca, p. ej., YYYYMMDDhhmmss, YYYY-MM, DD hh o YYYY-MM-DD hh:mm:ss ±h:mm. Si los componentes de mes y día no pueden extraerse de forma inequívoca, p. ej., MM/DD/YYYY, MM-DD-YYYY o MM-DD-YY, da preferencia al formato de fecha de EE. UU. en lugar de DD/MM/YYYY, DD-MM-YYYY o DD-MM-YY. Como excepción a lo anterior, si el mes es mayor que 12 y menor o igual que 31, esta función vuelve al comportamiento de parseDateTimeBestEffort; p. ej., 15/08/2020 se interpreta como 2020-08-15. Sintaxis
parseDateTimeBestEffortUS(time_string[, time_zone])
Argumentos
  • time_stringString que contiene una fecha y hora que se convertirán. String
  • time_zone — Opcional. Zona horaria según la cual se interpreta time_string. String
Valor devuelto Devuelve time_string como DateTime y, en casos ambiguos, prioriza el formato de fecha de EE. UU. DateTime Ejemplos Ejemplo de uso
Query
SELECT parseDateTimeBestEffortUS('02/10/2025') AS us_format,
       parseDateTimeBestEffortUS('15/08/2025') AS fallback_to_standard
Response
┌─us_format───────────┬─fallback_to_standard─┐
│ 2025-02-10 00:00:00 │  2025-08-15 00:00:00 │
└─────────────────────┴──────────────────────┘

parseDateTimeBestEffortUSOrNull

Introducido en: v1.1.0 Igual que la función parseDateTimeBestEffortUS, salvo que devuelve NULL cuando encuentra un formato de fecha que no se puede procesar. Esta función se comporta como parseDateTimeBestEffort con los formatos de fecha ISO, pero en los casos ambiguos da prioridad al formato de fecha de EE. UU. y devuelve NULL si se producen errores de análisis. Sintaxis
parseDateTimeBestEffortUSOrNull(time_string[, time_zone])
Argumentos
  • time_stringString que contiene una fecha y hora para convertir. String
  • time_zone — Opcional. Zona horaria según la cual se interpreta time_string. String
Valor devuelto Devuelve time_string como un DateTime con preferencia por el formato de EE. UU., o NULL si la entrada no se puede interpretar. DateTime o NULL Ejemplos Ejemplo de uso
Query
SELECT parseDateTimeBestEffortUSOrNull('02/10/2025') AS valid_us,
       parseDateTimeBestEffortUSOrNull('invalid') AS invalid
Response
┌─valid_us────────────┬─invalid─┐
│ 2025-02-10 00:00:00 │    ᴺᵁᴸᴸ │
└─────────────────────┴─────────┘

parseDateTimeBestEffortUSOrZero

Introducido en: v1.1.0 Igual que la función parseDateTimeBestEffortUS, salvo que devuelve una fecha cero (1970-01-01) o una fecha cero con hora (1970-01-01 00:00:00) cuando encuentra un formato de fecha que no puede procesarse. Esta función se comporta como parseDateTimeBestEffort para los formatos de fecha ISO, pero en los casos ambiguos da prioridad al formato de fecha de EE. UU. y devuelve un valor cero si se producen errores de análisis. Sintaxis
parseDateTimeBestEffortUSOrZero(time_string[, time_zone])
Argumentos
  • time_stringString que contiene una fecha y hora que se va a convertir. String
  • time_zone — Opcional. Zona horaria según la cual se interpreta time_string. String
Valor devuelto Devuelve time_string como un DateTime usando la preferencia de formato de EE. UU., o una fecha/fecha y hora cero (1970-01-01 o 1970-01-01 00:00:00) si no se puede interpretar la entrada. DateTime Ejemplos Ejemplo de uso
Query
SELECT parseDateTimeBestEffortUSOrZero('02/10/2025') AS valid_us,
       parseDateTimeBestEffortUSOrZero('invalid') AS invalid
Response
┌─valid_us────────────┬─invalid─────────────┐
│ 2025-02-10 00:00:00 │ 1970-01-01 00:00:00 │
└─────────────────────┴─────────────────────┘

parseDateTimeInJodaSyntax

Introducido en: v23.3.0 Interpreta una cadena de fecha y hora según una cadena de formato de fecha de Joda. Esta función es la inversa de formatDateTimeInJodaSyntax. Interpreta un argumento de tipo String usando una cadena de formato de estilo Joda. Devuelve un valor de tipo DateTime. Consulta la documentación de Joda Time para conocer los patrones de formato. Sintaxis
parseDateTimeInJodaSyntax(time_string, format[, timezone])
Argumentos
  • time_string — Cadena para analizar como DateTime. String
  • format — Cadena de formato en sintaxis Joda que especifica cómo interpretar time_string. String
  • timezone — Opcional. Zona horaria. String
Valor devuelto Devuelve un DateTime interpretado a partir de la cadena de entrada según la cadena de formato de estilo Joda. DateTime Ejemplos Ejemplo de uso
Query
SELECT parseDateTimeInJodaSyntax('2025-01-04 23:00:00', 'yyyy-MM-dd HH:mm:ss')
Response
┌─parseDateTimeInJodaSyntax('2025-01-04 23:00:00', 'yyyy-MM-dd HH:mm:ss')─┐
│                                                      2025-01-04 23:00:00 │
└──────────────────────────────────────────────────────────────────────────┘

parseDateTimeInJodaSyntaxOrNull

Introducido en: v23.3.0 Igual que parseDateTimeInJodaSyntax, pero devuelve NULL cuando encuentra un formato de fecha que no se puede analizar. Sintaxis
parseDateTimeInJodaSyntaxOrNull(time_string, format[, timezone])
Argumentos
  • time_string — Cadena para analizar como DateTime. String
  • format — Cadena de formato en sintaxis Joda que especifica cómo interpretar time_string. String
  • timezone — Opcional. Zona horaria. String
Valor devuelto Devuelve el valor DateTime obtenido al interpretar la cadena de entrada, o NULL si el análisis falla. Nullable(DateTime) Ejemplos Ejemplo de uso
Query
SELECT parseDateTimeInJodaSyntaxOrNull('2025-01-04 23:00:00', 'yyyy-MM-dd HH:mm:ss')
Response
┌─parseDateTimeInJodaSyntaxOrNull('2025-01-04 23:00:00', 'yyyy-MM-dd HH:mm:ss')─┐
│                                                         2025-01-04 23:00:00    │
└────────────────────────────────────────────────────────────────────────────────┘

parseDateTimeInJodaSyntaxOrZero

Introducido en: v23.3.0 Igual que parseDateTimeInJodaSyntax, pero devuelve la fecha cero cuando encuentra un formato de fecha que no se puede analizar. Sintaxis
parseDateTimeInJodaSyntaxOrZero(time_string, format[, timezone])
Argumentos
  • time_string — Cadena que se analizará para convertirla en DateTime. String
  • format — Cadena de formato en sintaxis Joda que especifica cómo analizar time_string. String
  • timezone — Opcional. Zona horaria. String
Valor devuelto Devuelve el DateTime obtenido al analizar la cadena de entrada, o el DateTime cero si el análisis falla. DateTime Ejemplos Ejemplo de uso
Query
SELECT parseDateTimeInJodaSyntaxOrZero('2025-01-04 23:00:00', 'yyyy-MM-dd HH:mm:ss')
Response
┌─parseDateTimeInJodaSyntaxOrZero('2025-01-04 23:00:00', 'yyyy-MM-dd HH:mm:ss')─┐
│                                                          2025-01-04 23:00:00   │
└────────────────────────────────────────────────────────────────────────────────┘

parseDateTimeOrNull

Introducido en: v23.3.0 Igual que parseDateTime, pero devuelve NULL cuando encuentra un formato de fecha que no se puede analizar. Sintaxis
parseDateTimeOrNull(time_string, format[, timezone])
Alias: str_to_date Argumentos
  • time_string — Cadena para analizar como DateTime. String
  • format — Cadena de formato que especifica cómo analizar time_string. String
  • timezone — Opcional. Zona horaria. String
Valor devuelto Devuelve el DateTime obtenido a partir de la cadena de entrada, o NULL si el análisis falla. Nullable(DateTime) Ejemplos Ejemplo de uso
Query
SELECT parseDateTimeOrNull('2025-01-04+23:00:00', '%Y-%m-%d+%H:%i:%s')
Response
┌─parseDateTimeOrNull('2025-01-04+23:00:00', '%Y-%m-%d+%H:%i:%s')─┐
│                                            2025-01-04 23:00:00  │
└─────────────────────────────────────────────────────────────────┘

parseDateTimeOrZero

Introducido en: v23.3.0 Igual que parseDateTime, pero devuelve una fecha cero cuando encuentra un formato de fecha que no se puede analizar. Sintaxis
parseDateTimeOrZero(time_string, format[, timezone])
Argumentos
  • time_string — Cadena que se debe analizar como DateTime. String
  • format — Cadena de formato que especifica cómo analizar time_string. String
  • timezone — Opcional. Zona horaria. String
Valor devuelto Devuelve el DateTime analizado a partir de la cadena de entrada, o un DateTime con valor cero si el análisis falla. DateTime Ejemplos Ejemplo de uso
Query
SELECT parseDateTimeOrZero('2025-01-04+23:00:00', '%Y-%m-%d+%H:%i:%s')
Response
┌─parseDateTimeOrZero('2025-01-04+23:00:00', '%Y-%m-%d+%H:%i:%s')─┐
│                                             2025-01-04 23:00:00 │
└─────────────────────────────────────────────────────────────────┘

reinterpret

Introducido en: v1.1.0 Usa la misma secuencia de bytes en memoria de origen para el valor proporcionado x y la reinterpreta como el tipo de destino. Sintaxis
reinterpret(x, type)
Argumentos
  • x — Cualquier tipo. Any
  • type — Tipo de destino. Si es un array, el tipo de elemento del array debe ser de longitud fija. String
Valor devuelto Valor del tipo de destino. Any Ejemplos Ejemplo de uso
Query
SELECT reinterpret(toInt8(-1), 'UInt8') AS int_to_uint,
    reinterpret(toInt8(1), 'Float32') AS int_to_float,
    reinterpret('1', 'UInt32') AS string_to_int
Response
┌─int_to_uint─┬─int_to_float─┬─string_to_int─┐
│         255 │        1e-45 │            49 │
└─────────────┴──────────────┴───────────────┘
Ejemplo de Array
Query
SELECT reinterpret(x'3108b4403108d4403108b4403108d440', 'Array(Float32)') AS string_to_array_of_Float32
Response
┌─string_to_array_of_Float32─┐
│ [5.626,6.626,5.626,6.626]  │
└────────────────────────────┘

reinterpretAsDate

Introducido en: v1.1.0 Reinterpreta el valor de entrada como un valor Date (suponiendo un orden little endian), que representa el número de días desde el inicio de la época Unix 1970-01-01 Sintaxis
reinterpretAsDate(x)
Argumentos Valor devuelto Date. Date Ejemplos Ejemplo de uso
Query
SELECT reinterpretAsDate(65), reinterpretAsDate('A')
Response
┌─reinterpretAsDate(65)─┬─reinterpretAsDate('A')─┐
│            1970-03-07 │             1970-03-07 │
└───────────────────────┴────────────────────────┘

reinterpretAsDateTime

Introducido en: v1.1.0 Reinterpreta el valor de entrada como un valor DateTime (suponiendo el orden little endian), que es el número de días transcurridos desde el inicio de la época Unix, 1970-01-01 Sintaxis
reinterpretAsDateTime(x)
Argumentos Valor devuelto Fecha y hora. DateTime Ejemplos Ejemplo de uso
Query
SELECT reinterpretAsDateTime(65), reinterpretAsDateTime('A')
Response
┌─reinterpretAsDateTime(65)─┬─reinterpretAsDateTime('A')─┐
│       1970-01-01 01:01:05 │        1970-01-01 01:01:05 │
└───────────────────────────┴────────────────────────────┘

reinterpretAsFixedString

Introducido en: v1.1.0 Reinterpreta el valor de entrada como una cadena de longitud fija (asumiendo el orden little endian). Los bytes nulos del final se ignoran; por ejemplo, para el valor UInt32 255, la función devuelve una cadena con un solo carácter. Sintaxis
reinterpretAsFixedString(x)
Argumentos Valor devuelto Cadena fija que contiene los bytes que representan x. FixedString Ejemplos Ejemplo de uso
Query
SELECT
    reinterpretAsFixedString(toDateTime('1970-01-01 01:01:05')),
    reinterpretAsFixedString(toDate('1970-03-07'))
Response
┌─reinterpretAsFixedString(toDateTime('1970-01-01 01:01:05'))─┬─reinterpretAsFixedString(toDate('1970-03-07'))─┐
│ A                                                           │ A                                              │
└─────────────────────────────────────────────────────────────┴────────────────────────────────────────────────┘

reinterpretAsFloat32

Introducido en: v1.1.0 Reinterpreta el valor de entrada como un valor de tipo Float32. A diferencia de CAST, la función no intenta preservar el valor original; si el tipo de destino no puede representar el tipo de entrada, el resultado no está definido. Sintaxis
reinterpretAsFloat32(x)
Argumentos Valor devuelto Devuelve el valor reinterpretado x. Float32 Ejemplos Ejemplo de uso
Query
SELECT reinterpretAsUInt32(toFloat32(0.2)) AS x, reinterpretAsFloat32(x)
Response
┌──────────x─┬─reinterpretAsFloat32(x)─┐
│ 1045220557 │                     0.2 │
└────────────┴─────────────────────────┘

reinterpretAsFloat64

Introducida en: v1.1.0 Reinterpreta el valor de entrada como un valor de tipo Float64. A diferencia de CAST, la función no intenta preservar el valor original; si el tipo de destino no puede representar el tipo de entrada, el resultado no está definido. Sintaxis
reinterpretAsFloat64(x)
Argumentos Valor devuelto Devuelve el valor reinterpretado x. Float64 Ejemplos Ejemplo de uso
Query
SELECT reinterpretAsUInt64(toFloat64(0.2)) AS x, reinterpretAsFloat64(x)
Response
┌───────────────────x─┬─reinterpretAsFloat64(x)─┐
│ 4596373779694328218 │                     0.2 │
└─────────────────────┴─────────────────────────┘

reinterpretAsInt128

Introducido en: v1.1.0 Reinterpreta el valor de entrada como un valor de tipo Int128. A diferencia de CAST, la función no intenta conservar el valor original; si el tipo de destino no puede representar el tipo de entrada, el resultado no está definido. Sintaxis
reinterpretAsInt128(x)
Argumentos Valor devuelto Devuelve el valor reinterpretado x. Int128 Ejemplos Ejemplo de uso
Query
SELECT
    toInt64(257) AS x,
    toTypeName(x),
    reinterpretAsInt128(x) AS res,
    toTypeName(res)
Response
┌───x─┬─toTypeName(x)─┬─res─┬─toTypeName(res)─┐
│ 257 │ Int64         │ 257 │ Int128          │
└─────┴───────────────┴─────┴─────────────────┘

reinterpretAsInt16

Introducido en: v1.1.0 Reinterpreta el valor de entrada como un valor de tipo Int16. A diferencia de CAST, la función no intenta conservar el valor original; si el tipo de destino no puede representar el tipo de entrada, el resultado no está definido. Sintaxis
reinterpretAsInt16(x)
Argumentos Valor devuelto Devuelve el valor reinterpretado x. Int16 Ejemplos Ejemplo de uso
Query
SELECT
    toInt8(257) AS x,
    toTypeName(x),
    reinterpretAsInt16(x) AS res,
    toTypeName(res)
Response
┌─x─┬─toTypeName(x)─┬─res─┬─toTypeName(res)─┐
│ 1 │ Int8          │   1 │ Int16           │
└───┴───────────────┴─────┴─────────────────┘

reinterpretAsInt256

Introducido en: v1.1.0 Reinterpreta el valor de entrada como un valor de tipo Int256. A diferencia de CAST, la función no intenta conservar el valor original; si el tipo de destino no puede representar el tipo de entrada, el resultado es indefinido. Sintaxis
reinterpretAsInt256(x)
Argumentos Valor devuelto Devuelve el valor reinterpretado de x. Int256 Ejemplos Ejemplo de uso
Query
SELECT
    toInt128(257) AS x,
    toTypeName(x),
    reinterpretAsInt256(x) AS res,
    toTypeName(res)
Response
┌───x─┬─toTypeName(x)─┬─res─┬─toTypeName(res)─┐
│ 257 │ Int128        │ 257 │ Int256          │
└─────┴───────────────┴─────┴─────────────────┘

reinterpretAsInt32

Introducido en: v1.1.0 Reinterpreta el valor de entrada como un valor de tipo Int32. A diferencia de CAST, la función no intenta preservar el valor original; si el tipo de destino no puede representar el tipo de entrada, el resultado no está definido. Sintaxis
reinterpretAsInt32(x)
Argumentos Valor devuelto Devuelve el valor reinterpretado x. Int32 Ejemplos Ejemplo de uso
Query
SELECT
    toInt16(257) AS x,
    toTypeName(x),
    reinterpretAsInt32(x) AS res,
    toTypeName(res)
Response
┌───x─┬─toTypeName(x)─┬─res─┬─toTypeName(res)─┐
│ 257 │ Int16         │ 257 │ Int32           │
└─────┴───────────────┴─────┴─────────────────┘

reinterpretAsInt64

Introducido en: v1.1.0 Reinterpreta el valor de entrada como un valor del tipo Int64. A diferencia de CAST, la función no intenta preservar el valor original; si el tipo de destino no puede representar el tipo de entrada, el resultado no está definido. Sintaxis
reinterpretAsInt64(x)
Argumentos Valor devuelto Devuelve el valor reinterpretado x. Int64 Ejemplos Ejemplo de uso
Query
SELECT
    toInt32(257) AS x,
    toTypeName(x),
    reinterpretAsInt64(x) AS res,
    toTypeName(res)
Response
┌───x─┬─toTypeName(x)─┬─res─┬─toTypeName(res)─┐
│ 257 │ Int32         │ 257 │ Int64           │
└─────┴───────────────┴─────┴─────────────────┘

reinterpretAsInt8

Introducido en: v1.1.0 Reinterpreta el valor de entrada como un valor de tipo Int8. A diferencia de CAST, la función no intenta conservar el valor original; si el tipo de destino no puede representar el tipo de entrada, el resultado no está definido. Sintaxis
reinterpretAsInt8(x)
Argumentos Valor devuelto Devuelve el valor reinterpretado de x. Int8 Ejemplos Ejemplo de uso
Query
SELECT
    toUInt8(257) AS x,
    toTypeName(x),
    reinterpretAsInt8(x) AS res,
    toTypeName(res)
Response
┌─x─┬─toTypeName(x)─┬─res─┬─toTypeName(res)─┐
│ 1 │ UInt8         │   1 │ Int8            │
└───┴───────────────┴─────┴─────────────────┘

reinterpretAsString

Introducido en: v1.1.0 Reinterpreta el valor de entrada como una cadena (suponiendo el orden de bytes little endian). Los bytes nulos del final se ignoran; por ejemplo, para el valor UInt32 255, la función devuelve una cadena con un solo carácter. Sintaxis
reinterpretAsString(x)
Argumentos Valor devuelto String que contiene los bytes que representan x. String Ejemplos Ejemplo de uso
Query
SELECT
    reinterpretAsString(toDateTime('1970-01-01 01:01:05')),
    reinterpretAsString(toDate('1970-03-07'))
Response
┌─reinterpretAsString(toDateTime('1970-01-01 01:01:05'))─┬─reinterpretAsString(toDate('1970-03-07'))─┐
│ A                                                      │ A                                         │
└────────────────────────────────────────────────────────┴───────────────────────────────────────────┘

reinterpretAsUInt128

Introducido en: v1.1.0 Reinterpreta el valor de entrada como un valor de tipo UInt128. A diferencia de CAST, la función no intenta preservar el valor original; si el tipo de destino no puede representar el tipo de entrada, el resultado es indefinido. Sintaxis
reinterpretAsUInt128(x)
Argumentos Valor devuelto Devuelve el valor reinterpretado x. UInt128 Ejemplos Ejemplo de uso
Query
SELECT
    toUInt64(257) AS x,
    toTypeName(x),
    reinterpretAsUInt128(x) AS res,
    toTypeName(res)
Response
┌───x─┬─toTypeName(x)─┬─res─┬─toTypeName(res)─┐
│ 257 │ UInt64        │ 257 │ UInt128         │
└─────┴───────────────┴─────┴─────────────────┘

reinterpretAsUInt16

Introducido en: v1.1.0 Reinterpreta el valor de entrada como un valor de tipo UInt16. A diferencia de CAST, la función no intenta preservar el valor original; si el tipo de destino no puede representar el tipo de entrada, el resultado no está definido. Sintaxis
reinterpretAsUInt16(x)
Argumentos Valor devuelto Devuelve el valor reinterpretado x. UInt16 Ejemplos Ejemplo de uso
Query
SELECT
    toUInt8(257) AS x,
    toTypeName(x),
    reinterpretAsUInt16(x) AS res,
    toTypeName(res)
Response
┌─x─┬─toTypeName(x)─┬─res─┬─toTypeName(res)─┐
│ 1 │ UInt8         │   1 │ UInt16          │
└───┴───────────────┴─────┴─────────────────┘

reinterpretAsUInt256

Introducido en: v1.1.0 Reinterpreta el valor de entrada como un valor de tipo UInt256. A diferencia de CAST, la función no intenta preservar el valor original; si el tipo de destino no puede representar el tipo de entrada, el resultado es indefinido. Sintaxis
reinterpretAsUInt256(x)
Argumentos Valor devuelto Devuelve el valor reinterpretado x. UInt256 Ejemplos Ejemplo de uso
Query
SELECT
    toUInt128(257) AS x,
    toTypeName(x),
    reinterpretAsUInt256(x) AS res,
    toTypeName(res)
Response
┌───x─┬─toTypeName(x)─┬─res─┬─toTypeName(res)─┐
│ 257 │ UInt128       │ 257 │ UInt256         │
└─────┴───────────────┴─────┴─────────────────┘

reinterpretAsUInt32

Introducido en: v1.1.0 Reinterpreta el valor de entrada como un valor de tipo UInt32. A diferencia de CAST, la función no intenta preservar el valor original; si el tipo de destino no puede representar el tipo de entrada, el resultado no está definido. Sintaxis
reinterpretAsUInt32(x)
Argumentos Valor devuelto Devuelve el valor reinterpretado x. UInt32 Ejemplos Ejemplo de uso
Query
SELECT
    toUInt16(257) AS x,
    toTypeName(x),
    reinterpretAsUInt32(x) AS res,
    toTypeName(res)
Response
┌───x─┬─toTypeName(x)─┬─res─┬─toTypeName(res)─┐
│ 257 │ UInt16        │ 257 │ UInt32          │
└─────┴───────────────┴─────┴─────────────────┘

reinterpretAsUInt64

Introducido en: v1.1.0 Reinterpreta el valor de entrada como un valor de tipo UInt64. A diferencia de CAST, la función no intenta conservar el valor original; si el tipo de destino no puede representar el tipo de entrada, el resultado es indefinido. Sintaxis
reinterpretAsUInt64(x)
Argumentos Valor devuelto Devuelve el valor reinterpretado de x. UInt64 Ejemplos Ejemplo de uso
Query
SELECT
    toUInt32(257) AS x,
    toTypeName(x),
    reinterpretAsUInt64(x) AS res,
    toTypeName(res)
Response
┌───x─┬─toTypeName(x)─┬─res─┬─toTypeName(res)─┐
│ 257 │ UInt32        │ 257 │ UInt64          │
└─────┴───────────────┴─────┴─────────────────┘

reinterpretAsUInt8

Introducido en: v1.1.0 Reinterpreta el valor de entrada como un valor de tipo UInt8. A diferencia de CAST, la función no intenta preservar el valor original; si el tipo de destino no puede representar el tipo de entrada, el resultado no está definido. Sintaxis
reinterpretAsUInt8(x)
Argumentos Valor devuelto Devuelve el valor reinterpretado x. UInt8 Ejemplos Ejemplo de uso
Query
SELECT
    toInt8(-1) AS val,
    toTypeName(val),
    reinterpretAsUInt8(val) AS res,
    toTypeName(res);
Response
┌─val─┬─toTypeName(val)─┬─res─┬─toTypeName(res)─┐
│  -1 │ Int8            │ 255 │ UInt8           │
└─────┴─────────────────┴─────┴─────────────────┘

reinterpretAsUUID

Introducido en: v1.1.0 Acepta una cadena de 16 bytes y devuelve un UUID interpretando cada mitad de 8 bytes en orden de bytes little-endian. Si la cadena no tiene la longitud suficiente, la función actúa como si se rellenara al final con la cantidad necesaria de bytes nulos. Si la cadena tiene más de 16 bytes, se ignoran los bytes adicionales del final. Sintaxis
reinterpretAsUUID(fixed_string)
Argumentos
  • fixed_string — Cadena de bytes en orden big-endian. FixedString
Valor devuelto Un valor del tipo UUID. UUID Ejemplos De cadena a UUID
Query
SELECT reinterpretAsUUID(reverse(unhex('000102030405060708090a0b0c0d0e0f')))
Response
┌─reinterpretAsUUID(reverse(unhex('000102030405060708090a0b0c0d0e0f')))─┐
│                                  08090a0b-0c0d-0e0f-0001-020304050607 │
└───────────────────────────────────────────────────────────────────────┘

toBFloat16

Introducido en: v1.1.0 Convierte un valor de entrada a un valor de tipo BFloat16. Lanza una excepción en caso de error. Véase también: Sintaxis
toBFloat16(expr)
Argumentos
  • expr — Expresión que devuelve un número o la representación en cadena de un número. Expression
Valor devuelto Devuelve un valor brain-float de 16 bits. BFloat16 Ejemplos Ejemplo de uso
Query
SELECT
toBFloat16(toFloat32(42.7)),
toBFloat16(toFloat32('42.7')),
toBFloat16('42.7')
FORMAT Vertical;
Response
toBFloat16(toFloat32(42.7)): 42.5
toBFloat16(t⋯32('42.7')):    42.5
toBFloat16('42.7'):          42.5

toBFloat16OrNull

Introducido en: v1.1.0 Convierte un valor de entrada de tipo String en un valor de tipo BFloat16. Si la cadena no representa un valor de coma flotante, la función devuelve NULL. Argumentos admitidos:
  • Representaciones en cadena de valores numéricos.
Argumentos no admitidos (devuelven NULL):
  • Representaciones en cadena de valores binarios y hexadecimales.
  • Valores numéricos.
La función permite una pérdida silenciosa de precisión al convertir a partir de la representación en cadena.
Vea también: Sintaxis
toBFloat16OrNull(x)
Argumentos
  • x — La representación en cadena de un número. String
Valor devuelto Devuelve un valor brain-float de 16 bits o NULL en caso contrario. BFloat16 o NULL Ejemplos Ejemplo de uso
Query
SELECT toBFloat16OrNull('0x5E'), -- argumentos no compatibles
       toBFloat16OrNull('12.3'), -- uso habitual
       toBFloat16OrNull('12.3456789') -- pérdida silenciosa de precisión
Response
\N
12.25
12.3125

toBFloat16OrZero

Introducido en: v1.1.0 Convierte un valor de entrada de tipo String en un valor de tipo BFloat16. Si la cadena no representa un valor de coma flotante, la función devuelve cero. Argumentos admitidos:
  • Representaciones en cadena de valores numéricos.
Argumentos no admitidos (devuelven 0):
  • Representaciones en cadena de valores binarios y hexadecimales.
  • Valores numéricos.
La función permite una pérdida de precisión silenciosa al convertir desde la representación en cadena.
Véase también: Sintaxis
toBFloat16OrZero(x)
Argumentos
  • x — Una representación en String de un número. String
Valor devuelto Devuelve un valor brain-float de 16 bits; de lo contrario, 0. BFloat16 Ejemplos Ejemplo de uso
Query
SELECT toBFloat16OrZero('0x5E'), -- argumentos no compatibles
       toBFloat16OrZero('12.3'), -- uso típico
       toBFloat16OrZero('12.3456789') -- pérdida silenciosa de precisión
Response
0
12.25
12.3125

toBool

Introducido en: v22.2.0 Convierte un valor de entrada en un valor del tipo Bool. Sintaxis
toBool(expr)
Argumentos
  • expr — Expresión que devuelve un número o una cadena. Para las cadenas, acepta ‘true’ o ‘false’ (sin distinguir entre mayúsculas y minúsculas). (U)Int* o Float* o String o Expression
Valor devuelto Devuelve true o false según la evaluación del argumento. Bool Ejemplos Ejemplo de uso
Query
SELECT
    toBool(toUInt8(1)),
    toBool(toInt8(-1)),
    toBool(toFloat32(1.01)),
    toBool('true'),
    toBool('false'),
    toBool('FALSE')
FORMAT Vertical
Response
toBool(toUInt8(1)):      true
toBool(toInt8(-1)):      true
toBool(toFloat32(1.01)): true
toBool('true'):          true
toBool('false'):         false
toBool('FALSE'):         false

toDate

Introducido en: v1.1.0 Convierte un valor de entrada al tipo Date. Admite la conversión desde tipos String, FixedString, DateTime o numéricos. Sintaxis
toDate(x)
Argumentos Valor devuelto Devuelve el valor de entrada convertido. Date Ejemplos Conversión de String a Date
Query
SELECT toDate('2025-04-15')
Response
2025-04-15
Conversión de DateTime a Date
Query
SELECT toDate(toDateTime('2025-04-15 10:30:00'))
Response
2025-04-15
Conversión de entero a fecha
Query
SELECT toDate(20297)
Response
2025-07-28

toDate32

Introducido en: v21.9.0 Convierte el argumento al tipo de datos Date32. Si el valor está fuera del rango, toDate32 devuelve los valores límite admitidos por Date32. Si el argumento es de tipo Date, se tienen en cuenta sus límites. Sintaxis
toDate32(expr)
Argumentos Valor devuelto Devuelve una fecha de calendario. Date32 Ejemplos Dentro del intervalo
Query
SELECT toDate32('2025-01-01') AS value, toTypeName(value)
FORMAT Vertical
Response
Fila 1:
──────
value:           2025-01-01
toTypeName(value): Date32
Fuera de rango
Query
SELECT toDate32('1899-01-01') AS value, toTypeName(value)
FORMAT Vertical
Response
Row 1:
──────
value:           1900-01-01
toTypeName(value): Date32

toDate32OrDefault

Introducido en: v21.11.0 Convierte el argumento al tipo de dato Date32. Si el valor está fuera del rango, toDate32OrDefault devuelve el valor del límite inferior admitido por Date32. Si el argumento es de tipo Date, se tienen en cuenta sus límites. Devuelve el valor predeterminado si se recibe un argumento no válido. Sintaxis
toDate32OrDefault(expr[, default])
Argumentos
  • expr — Expresión que devuelve un número o su representación en cadena. String o (U)Int* o Float*
  • default — Opcional. El valor predeterminado que se devolverá si el análisis falla. Date32
Valor devuelto Un valor de tipo Date32 si la conversión se realiza correctamente; de lo contrario, devuelve el valor predeterminado si se proporciona, o 1900-01-01 en caso contrario. Date32 Ejemplos Conversión correcta
Query
SELECT toDate32OrDefault('1930-01-01', toDate32('2020-01-01'))
Response
1930-01-01
Error de conversión
Query
SELECT toDate32OrDefault('xx1930-01-01', toDate32('2020-01-01'))
Response
2020-01-01

toDate32OrNull

Introducido en: v21.9.0 Convierte un valor de entrada a un valor de tipo Date32, pero devuelve NULL si recibe un argumento no válido. Igual que toDate32, pero devuelve NULL si recibe un argumento no válido. Sintaxis
toDate32OrNull(x)
Argumentos
  • x — La representación en cadena de una fecha. String
Valor devuelto Devuelve un valor Date32 si la conversión se realiza correctamente; de lo contrario, NULL. Date32 o NULL Ejemplos Ejemplo de uso
Query
SELECT toDate32OrNull('2025-01-01'), toDate32OrNull('invalid')
Response
┌─toDate32OrNull('2025-01-01')─┬─toDate32OrNull('invalid')─┐
│                   2025-01-01 │                      ᴺᵁᴸᴸ │
└──────────────────────────────┴───────────────────────────┘

toDate32OrZero

Introducido en: v21.9.0 Convierte un valor de entrada en un valor de tipo Date32, pero devuelve el límite inferior de Date32 si se recibe un argumento no válido. Es igual que toDate32, pero devuelve el límite inferior de Date32 si se recibe un argumento no válido. Véase también: Sintaxis
toDate32OrZero(x)
Argumentos
  • x — La representación en cadena de una fecha. String
Valor devuelto Devuelve un valor de Date32 si la operación se realiza correctamente; en caso contrario, el límite inferior de Date32 (1900-01-01). Date32 Ejemplos Ejemplo de uso
Query
SELECT toDate32OrZero('2025-01-01'), toDate32OrZero('')
Response
┌─toDate32OrZero('2025-01-01')─┬─toDate32OrZero('')─┐
│                   2025-01-01 │         1900-01-01 │
└──────────────────────────────┴────────────────────┘

toDateOrDefault

Introducido en: v21.11.0 Como toDate, pero si falla, devuelve un valor predeterminado, que es el segundo argumento (si se especifica) o, de lo contrario, el límite inferior de Date. Sintaxis
toDateOrDefault(expr[, default])
Argumentos
  • expr — Expresión que devuelve un número o una representación en cadena de un número. String o (U)Int* o Float*
  • default — Opcional. El valor predeterminado que se devuelve si el análisis no se puede realizar correctamente. Date
Valor devuelto Un valor de tipo Date si la conversión se realiza correctamente; en caso contrario, devuelve el valor predeterminado si se proporciona, o 1970-01-01 si no. Date Ejemplos Conversión correcta
Query
SELECT toDateOrDefault('2022-12-30')
Response
2022-12-30
Conversión fallida
Query
SELECT toDateOrDefault('', CAST('2023-01-01', 'Date'))
Response
2023-01-01

toDateOrNull

Introducido en: v1.1.0 Convierte un valor de entrada en un valor de tipo Date, pero devuelve NULL si recibe un argumento no válido. Igual que toDate, pero devuelve NULL si recibe un argumento no válido. Sintaxis
toDateOrNull(x)
Argumentos
  • x — Una representación en cadena de una fecha. String
Valor devuelto Devuelve un valor Date si la operación se realiza correctamente; de lo contrario, NULL. Date o NULL Ejemplos Ejemplo de uso
Query
SELECT toDateOrNull('2025-12-30'), toDateOrNull('invalid')
Response
┌─toDateOrNull('2025-12-30')─┬─toDateOrNull('invalid')─┐
│                 2025-12-30 │                   ᴺᵁᴸᴸ │
└────────────────────────────┴────────────────────────┘

toDateOrZero

Introducido en: v1.1.0 Convierte un valor de entrada en un valor de tipo Date, pero devuelve el límite inferior de Date si recibe un argumento no válido. Igual que toDate, pero devuelve el límite inferior de Date si recibe un argumento no válido. Véase también: Sintaxis
toDateOrZero(x)
Argumentos
  • x — Una representación en cadena de una fecha. String
Valor devuelto Devuelve un valor de tipo Date si la operación se realiza correctamente; de lo contrario, devuelve el límite inferior de Date (1970-01-01). Date Ejemplos Ejemplo de uso
Query
SELECT toDateOrZero('2025-12-30'), toDateOrZero('')
Response
┌─toDateOrZero('2025-12-30')─┬─toDateOrZero('')─┐
│                 2025-12-30 │       1970-01-01 │
└────────────────────────────┴──────────────────┘

toDateTime

Introducido en: v1.1.0 Convierte un valor de entrada al tipo DateTime.
Si expr es un número, se interpreta como la cantidad de segundos transcurridos desde el inicio de la época Unix (como marca temporal Unix). Si expr es una String, puede interpretarse como una marca temporal Unix o como una representación en cadena de una fecha / fecha con hora. Por lo tanto, el análisis de las representaciones en cadena de números cortos (de hasta 4 dígitos) está explícitamente deshabilitado debido a la ambigüedad; por ejemplo, una cadena '1999' puede ser tanto un año (una representación en cadena incompleta de Date / DateTime) como una marca temporal Unix. Se permiten cadenas numéricas más largas.
Sintaxis
toDateTime(expr[, time_zone])
Argumentos Valor devuelto Devuelve una fecha y hora. DateTime Ejemplos Ejemplo de uso
Query
SELECT toDateTime('2025-01-01 00:00:00'), toDateTime(1735689600, 'UTC')
FORMAT Vertical
Response
Row 1:
──────
toDateTime('2025-01-01 00:00:00'): 2025-01-01 00:00:00
toDateTime(1735689600, 'UTC'):     2025-01-01 00:00:00

toDateTime32

Introducido en: v20.9.0 Convierte un valor de entrada al tipo DateTime. Admite la conversión a partir de String, FixedString, Date, Date32, DateTime o tipos numéricos ((U)Int*, Float*, Decimal). DateTime32 proporciona un rango ampliado en comparación con DateTime, y admite fechas desde 1900-01-01 hasta 2299-12-31. Sintaxis
toDateTime32(x[, timezone])
Argumentos Valor devuelto Devuelve el valor de entrada convertido. DateTime Ejemplos El valor está dentro del rango
Query
SELECT toDateTime64('2025-01-01 00:00:00.000', 3) AS value, toTypeName(value);
Response
┌───────────────────value─┬─toTypeName(toDateTime64('20255-01-01 00:00:00.000', 3))─┐
│ 2025-01-01 00:00:00.000 │ DateTime64(3)                                          │
└─────────────────────────┴────────────────────────────────────────────────────────┘
Como Decimal con precisión
Query
SELECT toDateTime64(1735689600.000, 3) AS value, toTypeName(value);
-- sin el punto decimal, el valor se sigue interpretando como una marca temporal Unix en segundos
SELECT toDateTime64(1546300800000, 3) AS value, toTypeName(value);
Response
┌───────────────────value─┬─toTypeName(toDateTime64(1735689600.000, 3))─┐
│ 2025-01-01 00:00:00.000 │ DateTime64(3)                            │
└─────────────────────────┴──────────────────────────────────────────┘
┌───────────────────value─┬─toTypeName(toDateTime64(1546300800000, 3))─┐
│ 2282-12-31 00:00:00.000 │ DateTime64(3)                              │
└─────────────────────────┴────────────────────────────────────────────┘
Con zona horaria
Query
SELECT toDateTime64('2025-01-01 00:00:00', 3, 'Asia/Istanbul') AS value, toTypeName(value);
Response
┌───────────────────value─┬─toTypeName(toDateTime64('2025-01-01 00:00:00', 3, 'Asia/Istanbul'))─┐
│ 2025-01-01 00:00:00.000 │ DateTime64(3, 'Asia/Istanbul')                                      │
└─────────────────────────┴─────────────────────────────────────────────────────────────────────┘

toDateTime64

Introducido en: v20.1.0 Convierte un valor de entrada en un valor del tipo DateTime64. Sintaxis
toDateTime64(expr, scale[, timezone])
Argumentos
  • expr — Expresión que devuelve un número o su representación en cadena. Expresión
  • scale — Tamaño de tick (precisión): 10^(-scale) segundos. UInt8
  • timezone — Opcional. Zona horaria del objeto DateTime64 especificado. String
Valor devuelto Devuelve una fecha y hora del calendario, con precisión de subsegundos. DateTime64 Ejemplos El valor está dentro del rango
Query
SELECT toDateTime64('2025-01-01 00:00:00.000', 3) AS value, toTypeName(value);
Response
┌───────────────────value─┬─toTypeName(toDateTime64('2025-01-01 00:00:00.000', 3))─┐
│ 2025-01-01 00:00:00.000 │ DateTime64(3)                                          │
└─────────────────────────┴────────────────────────────────────────────────────────┘
Como Decimal con una precisión determinada
Query
SELECT toDateTime64(1546300800.000, 3) AS value, toTypeName(value);
-- Sin el punto decimal, el valor se sigue interpretando como una marca temporal Unix en segundos
SELECT toDateTime64(1546300800000, 3) AS value, toTypeName(value);
Response
┌───────────────────value─┬─toTypeName(toDateTime64(1546300800000, 3))─┐
│ 2282-12-31 00:00:00.000 │ DateTime64(3)                              │
└─────────────────────────┴────────────────────────────────────────────┘
Con zona horaria
Query
SELECT toDateTime64('2025-01-01 00:00:00', 3, 'Asia/Istanbul') AS value, toTypeName(value);
Response
┌───────────────────value─┬─toTypeName(toDateTime64('2025-01-01 00:00:00', 3, 'Asia/Istanbul'))─┐
│ 2025-01-01 00:00:00.000 │ DateTime64(3, 'Asia/Istanbul')                                      │
└─────────────────────────┴─────────────────────────────────────────────────────────────────────┘

toDateTime64OrDefault

Introducido en: v21.11.0 Al igual que toDateTime64, esta función convierte un valor de entrada en un valor del tipo DateTime64, pero devuelve el valor predeterminado de DateTime64 o el valor predeterminado proporcionado si recibe un argumento no válido. Sintaxis
toDateTime64OrDefault(expr, scale[, timezone, default])
Argumentos
  • expr — Expresión que devuelve un número o una representación en cadena de un número. String o (U)Int* o Float*
  • scale — Tamaño del tick (precisión): 10^-precisión segundos. UInt8
  • timezone — Opcional. Zona horaria. String
  • default — Opcional. El valor predeterminado que se devuelve si el análisis falla. DateTime64
Valor devuelto Valor de tipo DateTime64 si la conversión se realiza correctamente; de lo contrario, devuelve el valor predeterminado si se proporcionó o 1970-01-01 00:00:00.000 si no. DateTime64 Ejemplos Conversión exitosa
Query
SELECT toDateTime64OrDefault('1976-10-18 00:00:00.30', 3)
Response
1976-10-18 00:00:00.300
Error de conversión
Query
SELECT toDateTime64OrDefault('1976-10-18 00:00:00 30', 3, 'UTC', toDateTime64('2001-01-01 00:00:00.00',3))
Response
2000-12-31 23:00:00.000

toDateTime64OrNull

Introducido en: v20.1.0 Convierte un valor de entrada en un valor de tipo DateTime64, pero devuelve NULL si recibe un argumento no válido. Es igual que toDateTime64, pero devuelve NULL si recibe un argumento no válido. Sintaxis
toDateTime64OrNull(x)
Argumentos
  • x — Una representación en cadena de una fecha con hora y precisión de subsegundos. String
Valor devuelto Devuelve un valor DateTime64 si la operación se realiza correctamente; en caso contrario, NULL. DateTime64 o NULL Ejemplos Ejemplo de uso
Query
SELECT toDateTime64OrNull('2025-12-30 13:44:17.123'), toDateTime64OrNull('invalid')
Response
┌─toDateTime64OrNull('2025-12-30 13:44:17.123')─┬─toDateTime64OrNull('invalid')─┐
│                         2025-12-30 13:44:17.123 │                          ᴺᵁᴸᴸ │
└─────────────────────────────────────────────────┴───────────────────────────────┘

toDateTime64OrZero

Introducido en: v20.1.0 Convierte un valor de entrada en un valor del tipo DateTime64, pero devuelve el límite inferior de DateTime64 si recibe un argumento no válido. Es igual que toDateTime64, pero devuelve el límite inferior de DateTime64 si recibe un argumento no válido. Véase también: Sintaxis
toDateTime64OrZero(x)
Argumentos
  • x — Una representación en cadena de una fecha y hora con precisión de subsegundos. String
Valor devuelto Devuelve un valor DateTime64 si la operación se realiza correctamente; de lo contrario, devuelve el límite inferior de DateTime64 (1970-01-01 00:00:00.000). DateTime64 Ejemplos Ejemplo de uso
Query
SELECT toDateTime64OrZero('2025-12-30 13:44:17.123'), toDateTime64OrZero('invalid')
Response
┌─toDateTime64OrZero('2025-12-30 13:44:17.123')─┬─toDateTime64OrZero('invalid')─┐
│                         2025-12-30 13:44:17.123 │             1970-01-01 00:00:00.000 │
└─────────────────────────────────────────────────┴─────────────────────────────────────┘

toDateTimeOrDefault

Introducido en: v21.11.0 Como toDateTime, pero, si falla, devuelve un valor predeterminado, que es el tercer argumento (si se especifica) o, de lo contrario, el límite inferior de DateTime. Sintaxis
toDateTimeOrDefault(expr[, timezone, default])
Argumentos
  • expr — Expresión que devuelve un número o una representación en cadena de un número. String o (U)Int* o Float*
  • timezone — Opcional. Zona horaria. String
  • default — Opcional. El valor predeterminado que se devuelve si el análisis falla. DateTime
Valor devuelto Valor de tipo DateTime si la conversión se realiza correctamente; de lo contrario, devuelve el valor predeterminado si se proporciona, o 1970-01-01 00:00:00 si no. DateTime Ejemplos Conversión correcta
Query
SELECT toDateTimeOrDefault('2022-12-30 13:44:17')
Response
2022-12-30 13:44:17
Conversión fallida
Query
SELECT toDateTimeOrDefault('', 'UTC', CAST('2023-01-01', 'DateTime(\'UTC\')'))
Response
2023-01-01 00:00:00

toDateTimeOrNull

Introducido en: v1.1.0 Convierte un valor de entrada en un valor de tipo DateTime, pero devuelve NULL si recibe un argumento no válido. Es igual que toDateTime, pero devuelve NULL si recibe un argumento no válido. Sintaxis
toDateTimeOrNull(x)
Argumentos
  • x — Una representación en cadena de una fecha con hora. String
Valor devuelto Devuelve un valor DateTime si tiene éxito; de lo contrario, NULL. DateTime o NULL Ejemplos Ejemplo de uso
Query
SELECT toDateTimeOrNull('2025-12-30 13:44:17'), toDateTimeOrNull('invalid')
Response
┌─toDateTimeOrNull('2025-12-30 13:44:17')─┬─toDateTimeOrNull('invalid')─┐
│                     2025-12-30 13:44:17 │                        ᴺᵁᴸᴸ │
└─────────────────────────────────────────┴─────────────────────────────┘

toDateTimeOrZero

Introducido en: v1.1.0 Convierte un valor de entrada en un valor de tipo DateTime, pero devuelve el límite inferior de DateTime si recibe un argumento no válido. Es igual que toDateTime, pero devuelve el límite inferior de DateTime si recibe un argumento no válido. Sintaxis
toDateTimeOrZero(x)
Argumentos
  • x — Una representación en cadena de una fecha con hora. String
Valor devuelto Devuelve un valor DateTime si la conversión se realiza correctamente; de lo contrario, devuelve el límite inferior de DateTime (1970-01-01 00:00:00). DateTime Ejemplos Ejemplo de uso
Query
SELECT toDateTimeOrZero('2025-12-30 13:44:17'), toDateTimeOrZero('invalid')
Response
┌─toDateTimeOrZero('2025-12-30 13:44:17')─┬─toDateTimeOrZero('invalid')─┐
│                     2025-12-30 13:44:17 │         1970-01-01 00:00:00 │
└─────────────────────────────────────────┴─────────────────────────────┘

toDecimal128

Introducido en: v18.12.0 Convierte un valor de entrada en un valor del tipo Decimal(38, S) con escala S. Genera una excepción en caso de error. Argumentos admitidos:
  • Valores o representaciones en cadena del tipo (U)Int*.
  • Valores o representaciones en cadena del tipo Float*.
Argumentos no admitidos:
  • Valores o representaciones en cadena de valores Float* NaN e Inf (sin distinguir entre mayúsculas y minúsculas).
  • Representaciones en cadena de valores binarios y hexadecimales; por ejemplo, SELECT toDecimal128('0xc0fe', 1);.
Puede producirse un desbordamiento si el valor de expr supera los límites de Decimal128: (-1*10^(38 - S), 1*10^(38 - S)). Los dígitos sobrantes de la parte fraccionaria se descartan (no se redondean). Los dígitos sobrantes de la parte entera provocarán una excepción.
Las conversiones descartan los dígitos adicionales y pueden producir resultados inesperados al trabajar con entradas Float32/Float64, ya que las operaciones se realizan con instrucciones de coma flotante. Por ejemplo: toDecimal128(1.15, 2) es igual a 1.14 porque 1.15 * 100 en coma flotante es 114.99. Puede usar una entrada de tipo String para que las operaciones utilicen el tipo entero subyacente: toDecimal128('1.15', 2) = 1.15
Sintaxis
toDecimal128(expr, S)
Argumentos
  • expr — Expresión que devuelve un número o la representación textual de un número. Expresión
  • S — Parámetro de escala entre 0 y 38, que especifica cuántos dígitos puede tener la parte fraccionaria de un número. UInt8
Valor devuelto Devuelve un valor de tipo Decimal(38, S) Decimal128(S) Ejemplos Ejemplo de uso
Query
SELECT
    toDecimal128(99, 1) AS a, toTypeName(a) AS type_a,
    toDecimal128(99.67, 2) AS b, toTypeName(b) AS type_b,
    toDecimal128('99.67', 3) AS c, toTypeName(c) AS type_c
FORMAT Vertical
Response
Fila 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

Introducido en: v21.11.0 Al igual que toDecimal128, esta función convierte un valor de entrada a un valor de tipo Decimal(38, S), pero devuelve el valor predeterminado en caso de error. Sintaxis
toDecimal128OrDefault(expr, S[, default])
Argumentos
  • expr — Una representación en forma de String de un número. String
  • S — Parámetro de escala entre 0 y 38 que especifica cuántos dígitos puede tener la parte fraccionaria de un número. UInt8
  • default — Opcional. El valor predeterminado que se devolverá si la conversión al tipo Decimal128(S) no se realiza correctamente. Decimal128(S)
Valor devuelto Un valor de tipo Decimal(38, S) si la conversión se realiza correctamente; de lo contrario, devuelve el valor predeterminado si se proporcionó o 0 si no. Decimal128(S) Ejemplos Conversión exitosa
Query
SELECT toDecimal128OrDefault(toString(1/42), 18)
Response
0.023809523809523808
Conversión fallida
Query
SELECT toDecimal128OrDefault('Inf', 0, CAST('-1', 'Decimal128(0)'))
Response
-1

toDecimal128OrNull

Introducido en: v20.1.0 Convierte un valor de entrada en un valor del tipo Decimal(38, S), pero devuelve NULL en caso de error. Como toDecimal128, pero devuelve NULL en lugar de lanzar una excepción si se producen errores de conversión. Argumentos admitidos:
  • Valores o representaciones en cadena del tipo (U)Int*.
  • Valores o representaciones en cadena del tipo Float*.
Argumentos no admitidos (devuelven NULL):
  • Valores o representaciones en cadena de valores Float* NaN e Inf (sin distinguir entre mayúsculas y minúsculas).
  • Representaciones en cadena de valores binarios y hexadecimales.
  • Valores que superan los límites de Decimal128:(-1*10^(38 - S), 1*10^(38 - S)).
Véase también: Sintaxis
toDecimal128OrNull(expr, S)
Argumentos
  • expr — Expresión que devuelve un número o una representación en cadena de un número. Expresión
  • S — Parámetro de escala entre 0 y 38 que especifica cuántos dígitos puede tener la parte fraccionaria de un número. UInt8
Valor devuelto Devuelve un valor Decimal(38, S) si tiene éxito; en caso contrario, NULL. Decimal128(S) o NULL Ejemplos Ejemplo de uso
Query
SELECT toDecimal128OrNull('42.7', 2), toDecimal128OrNull('invalid', 2)
Response
┌─toDecimal128OrNull('42.7', 2)─┬─toDecimal128OrNull('invalid', 2)─┐
│                         42.70 │                             ᴺᵁᴸᴸ │
└───────────────────────────────┴──────────────────────────────────┘

toDecimal128OrZero

Introducido en: v20.1.0 Convierte un valor de entrada en un valor del tipo Decimal(38, S), pero devuelve 0 en caso de error. Es similar a toDecimal128, pero devuelve 0 en lugar de generar una excepción cuando se producen errores de conversión. Argumentos admitidos:
  • Valores o representaciones de cadena del tipo (U)Int*.
  • Valores o representaciones de cadena del tipo Float*.
Argumentos no admitidos (devuelven 0):
  • Valores o representaciones de cadena de valores Float* NaN e Inf (sin distinguir entre mayúsculas y minúsculas).
  • Representaciones de cadena de valores binarios y hexadecimales.
Si el valor de entrada supera los límites de Decimal128:(-1*10^(38 - S), 1*10^(38 - S)), la función devuelve 0.
Sintaxis
toDecimal128OrZero(expr, S)
Argumentos
  • expr — Expresión que devuelve un número o su representación en cadena. Expresión
  • S — Parámetro de escala entre 0 y 38 que especifica cuántos dígitos puede tener la parte fraccionaria de un número. UInt8
Valor devuelto Devuelve un valor Decimal(38, S) si la operación se realiza correctamente; en caso contrario, 0. Decimal128(S) Ejemplos Uso básico
Query
SELECT toDecimal128OrZero('42.7', 2), toDecimal128OrZero('invalid', 2)
Response
┌─toDecimal128OrZero('42.7', 2)─┬─toDecimal128OrZero('invalid', 2)─┐
│                         42.70 │                             0.00 │
└───────────────────────────────┴──────────────────────────────────┘

toDecimal256

Introducido en: v20.8.0 Convierte un valor de entrada en un valor de tipo Decimal(76, S) con escala S. Genera una excepción en caso de error. Argumentos admitidos:
  • Valores o representaciones de cadena del tipo (U)Int*.
  • Valores o representaciones de cadena del tipo Float*.
Argumentos no admitidos:
  • Valores o representaciones de cadena de valores Float* NaN e Inf (sin distinción entre mayúsculas y minúsculas).
  • Representaciones de cadena de valores binarios y hexadecimales; por ejemplo, SELECT toDecimal256('0xc0fe', 1);.
Puede producirse un desbordamiento si el valor de expr supera los límites de Decimal256:(-1*10^(76 - S), 1*10^(76 - S)). Los dígitos sobrantes de la parte fraccionaria se descartan (no se redondean). Los dígitos sobrantes de la parte entera provocarán una excepción.
Las conversiones descartan los dígitos adicionales y podrían comportarse de forma inesperada al trabajar con entradas Float32/Float64, ya que las operaciones se realizan mediante instrucciones de coma flotante. Por ejemplo: toDecimal256(1.15, 2) es igual a 1.14 porque 1.15 * 100 en coma flotante es 114.99. Puede usar una entrada String para que las operaciones utilicen el tipo entero subyacente: toDecimal256('1.15', 2) = 1.15
Sintaxis
toDecimal256(expr, S)
Argumentos
  • expr — Expresión que devuelve un número o una representación en cadena de un número. Expresión
  • S — Parámetro de escala entre 0 y 76 que especifica cuántos dígitos puede tener la parte fraccionaria de un número. UInt8
Valor devuelto Devuelve un valor de tipo Decimal(76, S). Decimal256(S) Ejemplos Ejemplo de uso
Query
SELECT
    toDecimal256(99, 1) AS a, toTypeName(a) AS type_a,
    toDecimal256(99.67, 2) AS b, toTypeName(b) AS type_b,
    toDecimal256('99.67', 3) AS c, toTypeName(c) AS type_c
FORMAT Vertical
Response
Fila 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

Introducido en: v21.11.0 Al igual que toDecimal256, esta función convierte un valor de entrada en un valor de tipo Decimal(76, S), pero devuelve el valor predeterminado en caso de error. Sintaxis
toDecimal256OrDefault(expr, S[, default])
Argumentos
  • expr — Una representación en cadena de un número. String
  • S — Parámetro de escala entre 0 y 76 que especifica cuántos dígitos puede tener la parte fraccionaria de un número. UInt8
  • default — Opcional. El valor predeterminado que se devolverá si no se puede convertir al tipo Decimal256(S). Decimal256(S)
Valor devuelto Un valor de tipo Decimal(76, S) si la conversión se realiza correctamente; de lo contrario, devuelve el valor predeterminado si se proporcionó, o 0 si no. Decimal256(S) Ejemplos Conversión exitosa
Query
SELECT toDecimal256OrDefault(toString(1/42), 76)
Response
0.023809523809523808
Error de conversión
Query
SELECT toDecimal256OrDefault('Inf', 0, CAST('-1', 'Decimal256(0)'))
Response
-1

toDecimal256OrNull

Introducido en: v20.8.0 Convierte un valor de entrada a un valor de tipo Decimal(76, S), pero devuelve NULL en caso de error. Es como toDecimal256, pero devuelve NULL en lugar de generar una excepción cuando se producen errores de conversión. Argumentos admitidos:
  • Valores o representaciones en cadena del tipo (U)Int*.
  • Valores o representaciones en cadena del tipo Float*.
Argumentos no admitidos (devuelven NULL):
  • Valores o representaciones en cadena de valores Float* NaN e Inf (sin distinguir entre mayúsculas y minúsculas).
  • Representaciones en cadena de valores binarios y hexadecimales.
  • Valores que superan los límites de Decimal256: (-1 * 10^(76 - S), 1 * 10^(76 - S)).
Véase también: Sintaxis
toDecimal256OrNull(expr, S)
Argumentos
  • expr — Expresión que devuelve un número o su representación en forma de cadena. Expresión
  • S — Parámetro de escala entre 0 y 76 que especifica cuántos dígitos puede tener la parte fraccionaria de un número. UInt8
Valor devuelto Devuelve un valor Decimal(76, S) si la conversión se realiza correctamente; en caso contrario, NULL. Decimal256(S) o NULL Ejemplos Ejemplo de uso
Query
SELECT toDecimal256OrNull('42.7', 2), toDecimal256OrNull('invalid', 2)
Response
┌─toDecimal256OrNull('42.7', 2)─┬─toDecimal256OrNull('invalid', 2)─┐
│                         42.70 │                             ᴺᵁᴸᴸ │
└───────────────────────────────┴──────────────────────────────────┘

toDecimal256OrZero

Introducido en: v20.8.0 Convierte un valor de entrada en un valor de tipo Decimal(76, S), pero devuelve 0 en caso de error. Es similar a toDecimal256, pero devuelve 0 en lugar de generar una excepción cuando se producen errores de conversión. Argumentos admitidos:
  • Valores o representaciones en cadena del tipo (U)Int*.
  • Valores o representaciones en cadena del tipo Float*.
Argumentos no admitidos (devuelven 0):
  • Valores o representaciones en cadena de valores Float* NaN e Inf (sin distinguir mayúsculas de minúsculas).
  • Representaciones en cadena de valores binarios y hexadecimales.
Si el valor de entrada supera los límites de Decimal256:(-1*10^(76 - S), 1*10^(76 - S)), la función devuelve 0.
Véase también: Sintaxis
toDecimal256OrZero(expr, S)
Argumentos
  • expr — Expresión que devuelve un número o la representación en cadena de un número. Expresión
  • S — Parámetro de escala entre 0 y 76 que especifica cuántos dígitos puede tener la parte fraccionaria de un número. UInt8
Valor devuelto Devuelve un valor Decimal(76, S) si la operación se realiza correctamente; en caso contrario, 0. Decimal256(S) Ejemplos Ejemplo de uso
Query
SELECT toDecimal256OrZero('42.7', 2), toDecimal256OrZero('invalid', 2)
Response
┌─toDecimal256OrZero('42.7', 2)─┬─toDecimal256OrZero('invalid', 2)─┐
│                         42.70 │                             0.00 │
└───────────────────────────────┴──────────────────────────────────┘

toDecimal32

Introducido en: v18.12.0 Convierte un valor de entrada en un valor de tipo Decimal(9, S) con una escala de S. Lanza una excepción en caso de error. Argumentos admitidos:
  • Valores o representaciones de cadena del tipo (U)Int*.
  • Valores o representaciones de cadena del tipo Float*.
Argumentos no admitidos:
  • Valores o representaciones de cadena de valores Float* NaN e Inf (sin distinguir entre mayúsculas y minúsculas).
  • Representaciones de cadena de valores binarios y hexadecimales, por ejemplo, SELECT toDecimal32('0xc0fe', 1);.
Puede producirse un desbordamiento si el valor de expr supera los límites de Decimal32: (-1*10^(9 - S), 1*10^(9 - S)). Los dígitos sobrantes de la parte fraccionaria se descartan (no se redondean). Los dígitos sobrantes de la parte entera provocarán una excepción.
Las conversiones descartan los dígitos adicionales y pueden comportarse de forma inesperada al trabajar con entradas Float32/Float64, ya que las operaciones se realizan mediante instrucciones de coma flotante. Por ejemplo: toDecimal32(1.15, 2) es igual a 1.14 porque 1.15 * 100 en coma flotante es 114.99. Puede usar una entrada String para que las operaciones utilicen el tipo entero subyacente: toDecimal32('1.15', 2) = 1.15
Sintaxis
toDecimal32(expr, S)
Argumentos
  • expr — Expresión que devuelve un número o una representación en cadena de un número. Expresión
  • S — Parámetro de escala entre 0 y 9 que especifica cuántos dígitos puede tener la parte fraccionaria de un número. UInt8
Valor devuelto Devuelve un valor de tipo Decimal(9, S) Decimal32(S) Ejemplos Ejemplo de uso
Query
SELECT
    toDecimal32(2, 1) AS a, toTypeName(a) AS type_a,
    toDecimal32(4.2, 2) AS b, toTypeName(b) AS type_b,
    toDecimal32('4.2', 3) AS c, toTypeName(c) AS type_c
FORMAT Vertical
Response
Fila 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

Introducido en: v21.11.0 Al igual que toDecimal32, esta función convierte un valor de entrada en un valor del tipo Decimal(9, S), pero devuelve el valor predeterminado en caso de error. Sintaxis
toDecimal32OrDefault(expr, S[, default])
Argumentos
  • expr — Una representación en String de un número. String
  • S — Parámetro de escala entre 0 y 9 que especifica cuántos dígitos puede tener la parte fraccionaria de un número. UInt8
  • default — Opcional. El valor predeterminado que se devuelve si no es posible interpretar el valor como el tipo Decimal32(S). Decimal32(S)
Valor devuelto Un valor de tipo Decimal(9, S) si la conversión se realiza correctamente; en caso contrario, devuelve el valor predeterminado si se proporcionó o 0 si no. Decimal32(S) Ejemplos Conversión correcta
Query
SELECT toDecimal32OrDefault(toString(0.0001), 5)
Response
0.0001
Error de conversión
Query
SELECT toDecimal32OrDefault('Inf', 0, CAST('-1', 'Decimal32(0)'))
Response
-1

toDecimal32OrNull

Introducido en: v20.1.0 Convierte un valor de entrada en un valor de tipo Decimal(9, S), pero devuelve NULL en caso de error. Es similar a toDecimal32, pero devuelve NULL en lugar de lanzar una excepción en caso de errores de conversión. Argumentos admitidos:
  • Valores o representaciones en cadena del tipo (U)Int*.
  • Valores o representaciones en cadena del tipo Float*.
Argumentos no compatibles (devuelven NULL):
  • Valores o representaciones en cadena de valores Float* NaN e Inf (sin distinguir entre mayúsculas y minúsculas).
  • Representaciones en cadena de valores binarios y hexadecimales.
  • Valores que superan los límites de Decimal32:(-1*10^(9 - S), 1*10^(9 - S)).
Véase también: Sintaxis
toDecimal32OrNull(expr, S)
Argumentos
  • expr — Expresión que devuelve un número o la representación en cadena de un número. Expression
  • S — Parámetro de escala entre 0 y 9 que especifica cuántos dígitos puede tener la parte fraccionaria de un número. UInt8
Valor devuelto Devuelve un valor Decimal(9, S) si la operación se realiza correctamente; en caso contrario, NULL. Decimal32(S) o NULL Ejemplos Ejemplo de uso
Query
SELECT toDecimal32OrNull('42.7', 2), toDecimal32OrNull('invalid', 2)
Response
┌─toDecimal32OrNull('42.7', 2)─┬─toDecimal32OrNull('invalid', 2)─┐
│                        42.70 │                            ᴺᵁᴸᴸ │
└──────────────────────────────┴─────────────────────────────────┘

toDecimal32OrZero

Introducido en: v20.1.0 Convierte un valor de entrada en un valor del tipo Decimal(9, S), pero devuelve 0 en caso de error. Es como toDecimal32, pero devuelve 0 en lugar de lanzar una excepción cuando se producen errores de conversión. Argumentos admitidos:
  • Valores o representaciones en cadena del tipo (U)Int*.
  • Valores o representaciones en cadena del tipo Float*.
Argumentos no admitidos (devuelven 0):
  • Valores o representaciones en cadena de valores Float* NaN e Inf (sin distinguir entre mayúsculas y minúsculas).
  • Representaciones en cadena de valores binarios y hexadecimales.
Si el valor de entrada supera los límites de Decimal32:(-1*10^(9 - S), 1*10^(9 - S)), la función devuelve 0.
Sintaxis
toDecimal32OrZero(expr, S)
Argumentos
  • expr — Expresión que devuelve un número o la representación en cadena de un número. Expression
  • S — Parámetro de escala entre 0 y 9 que especifica cuántos dígitos puede tener la parte fraccionaria de un número. UInt8
Valor devuelto Devuelve un valor Decimal(9, S) si tiene éxito; de lo contrario, 0. Decimal32(S) Ejemplos Ejemplo de uso
Query
SELECT toDecimal32OrZero('42.7', 2), toDecimal32OrZero('invalid', 2)
Response
┌─toDecimal32OrZero('42.7', 2)─┬─toDecimal32OrZero('invalid', 2)─┐
│                        42.70 │                            0.00 │
└──────────────────────────────┴─────────────────────────────────┘

toDecimal64

Introducido en: v18.12.0 Convierte un valor de entrada en un valor de tipo Decimal(18, S) con una escala de S. Lanza una excepción en caso de error. Argumentos admitidos:
  • Valores o representaciones en cadena del tipo (U)Int*.
  • Valores o representaciones en cadena del tipo Float*.
Argumentos no admitidos:
  • Valores o representaciones en cadena de valores Float* NaN e Inf (sin distinguir entre mayúsculas y minúsculas).
  • Representaciones en cadena de valores binarios y hexadecimales; por ejemplo, SELECT toDecimal64('0xc0fe', 1);.
Puede producirse un desbordamiento si el valor de expr supera los límites de Decimal64:(-1*10^(18 - S), 1*10^(18 - S)). Los dígitos sobrantes de la fracción se descartan (no se redondean). Los dígitos sobrantes en la parte entera provocarán una excepción.
Las conversiones descartan los dígitos adicionales y podrían comportarse de forma inesperada al trabajar con entradas Float32/Float64, ya que las operaciones se realizan con instrucciones de coma flotante. Por ejemplo, toDecimal64(1.15, 2) es igual a 1.14 porque 1.15 * 100 en coma flotante es 114.99. Puede usar una entrada de tipo String para que las operaciones usen el tipo entero subyacente: toDecimal64('1.15', 2) = 1.15
Sintaxis
toDecimal64(expr, S)
Argumentos
  • expr — Expresión que devuelve un número o la representación en cadena de un número. Expression
  • S — Parámetro de escala entre 0 y 18 que especifica cuántos dígitos puede tener la parte fraccionaria de un número. UInt8
Valor devuelto Devuelve un valor decimal. Decimal(18, S) Ejemplos Ejemplo de uso
Query
SELECT
    toDecimal64(2, 1) AS a, toTypeName(a) AS type_a,
    toDecimal64(4.2, 2) AS b, toTypeName(b) AS type_b,
    toDecimal64('4.2', 3) AS c, toTypeName(c) AS type_c
FORMAT Vertical
Response
Fila 1:
──────
a:      2.0
type_a: Decimal(18, 1)
b:      4.20
type_b: Decimal(18, 2)
c:      4.200
type_c: Decimal(18, 3)

toDecimal64OrDefault

Introducido en: v21.11.0 Al igual que toDecimal64, esta función convierte un valor de entrada a un valor del tipo Decimal(18, S), pero devuelve el valor predeterminado en caso de error. Sintaxis
toDecimal64OrDefault(expr, S[, default])
Argumentos
  • expr — Una representación en String de un número. String
  • S — Parámetro de escala entre 0 y 18 que especifica cuántos dígitos puede tener la parte fraccionaria de un número. UInt8
  • default — Opcional. El valor predeterminado que se devuelve si no se puede convertir al tipo Decimal64(S). Decimal64(S)
Valor devuelto Un valor de tipo Decimal(18, S) si la conversión se realiza correctamente; de lo contrario, devuelve el valor predeterminado si se proporcionó, o 0 si no. Decimal64(S) Ejemplos Conversión correcta
Query
SELECT toDecimal64OrDefault(toString(0.0001), 18)
Response
0.0001
Conversión fallida
Query
SELECT toDecimal64OrDefault('Inf', 0, CAST('-1', 'Decimal64(0)'))
Response
-1

toDecimal64OrNull

Introducido en: v20.1.0 Convierte un valor de entrada en un valor de tipo Decimal(18, S), pero devuelve NULL en caso de error. Igual que toDecimal64, pero devuelve NULL en lugar de lanzar una excepción cuando se producen errores de conversión. Argumentos admitidos:
  • Valores o representaciones en cadena del tipo (U)Int*.
  • Valores o representaciones en cadena del tipo Float*.
Argumentos no admitidos (devuelven NULL):
  • Valores o representaciones en cadena de valores Float* NaN e Inf (sin distinguir entre mayúsculas y minúsculas).
  • Representaciones en cadena de valores binarios y hexadecimales.
  • Valores que superan los límites de Decimal64:(-1*10^(18 - S), 1*10^(18 - S)).
Véase también: Sintaxis
toDecimal64OrNull(expr, S)
Argumentos
  • expr — Expresión que devuelve un número o una representación en cadena de un número. Expression
  • S — Parámetro de escala entre 0 y 18 que especifica cuántos dígitos puede tener la parte fraccionaria de un número. UInt8
Valor devuelto Devuelve un valor Decimal(18, S) si la operación se realiza correctamente; de lo contrario, NULL. Decimal64(S) o NULL Ejemplos Ejemplo de uso
Query
SELECT toDecimal64OrNull('42.7', 2), toDecimal64OrNull('invalid', 2)
Response
┌─toDecimal64OrNull('42.7', 2)─┬─toDecimal64OrNull('invalid', 2)─┐
│                        42.70 │                            ᴺᵁᴸᴸ │
└──────────────────────────────┴─────────────────────────────────┘

toDecimal64OrZero

Introducido en: v20.1.0 Convierte un valor de entrada en un valor de tipo Decimal(18, S), pero devuelve 0 en caso de error. Igual que toDecimal64, pero devuelve 0 en lugar de lanzar una excepción si se producen errores de conversión. Argumentos admitidos:
  • Valores o representaciones en cadena del tipo (U)Int*.
  • Valores o representaciones en cadena del tipo Float*.
Argumentos no admitidos (devuelven 0):
  • Valores o representaciones en cadena de valores Float* NaN e Inf (sin distinguir entre mayúsculas y minúsculas).
  • Representaciones en cadena de valores binarios y hexadecimales.
Si el valor de entrada supera los límites de Decimal64:(-1*10^(18 - S), 1*10^(18 - S)), la función devuelve 0.
Véase también: Sintaxis
toDecimal64OrZero(expr, S)
Argumentos
  • expr — Expresión que devuelve un número o su representación en cadena. Expression
  • S — Parámetro de escala entre 0 y 18 que especifica cuántos dígitos puede tener la parte fraccionaria de un número. UInt8
Valor devuelto Devuelve un valor Decimal(18, S) si la operación se realiza correctamente; de lo contrario, 0. Decimal64(S) Ejemplos Ejemplo de uso
Query
SELECT toDecimal64OrZero('42.7', 2), toDecimal64OrZero('invalid', 2)
Response
┌─toDecimal64OrZero('42.7', 2)─┬─toDecimal64OrZero('invalid', 2)─┐
│                        42.70 │                            0.00 │
└──────────────────────────────┴─────────────────────────────────┘

toDecimalString

Introducido en: v23.3.0 Convierte un valor numérico a String con el número especificado de dígitos fraccionarios. La función redondea el valor de entrada al número especificado de posiciones decimales. Si el valor de entrada tiene menos dígitos fraccionarios de los solicitados, el resultado se rellena con ceros hasta alcanzar el número exacto de dígitos fraccionarios especificado. Sintaxis
toDecimalString(number, scale)
Argumentos
  • number — El valor numérico que se convertirá en una cadena. Puede ser cualquier tipo numérico (Int, UInt, Float, Decimal). Int8 o Int16 o Int32 o Int64 o UInt8 o UInt16 o UInt32 o UInt64 o Float32 o Float64 o Decimal
  • scale — El número de dígitos que se mostrarán en la parte fraccionaria. El resultado se redondeará si es necesario. UInt8
Valor devuelto Devuelve una representación del número en String con exactamente el número especificado de dígitos fraccionarios. String Ejemplos Redondear y dar formato a un número
Query
SELECT toDecimalString(2.1456, 2)
Response
┌─toDecimalString(2.1456, 2)─┐
│ 2.15                       │
└────────────────────────────┘
Completar con ceros
Query
SELECT toDecimalString(5, 3)
Response
┌─toDecimalString(5, 3)─┐
│ 5.000                 │
└───────────────────────┘
Distintos tipos numéricos
Query
SELECT toDecimalString(CAST(123.456 AS Decimal(10,3)), 2) AS decimal_val,
       toDecimalString(CAST(42.7 AS Float32), 4) AS float_val
Response
┌─decimal_val─┬─float_val─┐
│ 123.46      │ 42.7000   │
└─────────────┴───────────┘

toFixedString

Introducido en: v1.1.0 Convierte un argumento String en un tipo FixedString(N) (una cadena de longitud fija N). Si la cadena tiene menos bytes que N, se rellena con bytes nulos a la derecha. Si la cadena tiene más bytes que N, se lanza una excepción. Sintaxis
toFixedString(s, N)
Argumentos
  • s — Cadena que se va a convertir. String
  • N — Longitud del FixedString resultante. const UInt*
Valor devuelto Devuelve un FixedString de longitud N. FixedString(N) Ejemplos Ejemplo de uso
Query
SELECT toFixedString('foo', 8) AS s;
Response
┌─s─────────────┐
│ foo\0\0\0\0\0 │
└───────────────┘

toFloat32

Introducido en: v1.1.0 Convierte un valor de entrada en un valor de tipo Float32. Lanza una excepción en caso de error. Argumentos admitidos:
  • Valores de tipo (U)Int*.
  • Representaciones de cadena de (U)Int8/16/32/128/256.
  • Valores de tipo Float*, incluidos NaN e Inf.
  • Representaciones de cadena de Float*, incluidos NaN e Inf (sin distinción entre mayúsculas y minúsculas).
Argumentos no admitidos:
  • Representaciones de cadena de valores binarios y hexadecimales; por ejemplo, SELECT toFloat32('0xc0fe');.
Véase también: Sintaxis
toFloat32(expr)
Argumentos
  • expr — Expresión que devuelve un número o una representación en cadena de un número. Expression
Valor devuelto Devuelve un valor de punto flotante de 32 bits. Float32 Ejemplos Ejemplo de uso
Query
SELECT
    toFloat32(42.7),
    toFloat32('42.7'),
    toFloat32('NaN')
FORMAT Vertical
Response
Row 1:
──────
toFloat32(42.7):   42.7
toFloat32('42.7'): 42.7
toFloat32('NaN'):  nan

toFloat32OrDefault

Introducido en: v21.11.0 Al igual que toFloat32, esta función convierte un valor de entrada en un valor de tipo Float32, pero devuelve el valor predeterminado en caso de error. Si no se pasa ningún valor default, se devuelve 0 en caso de error. Sintaxis
toFloat32OrDefault(expr[, default])
Argumentos
  • expr — Expresión que devuelve un número o la representación en cadena de un número. String o (U)Int* o Float*
  • default — Opcional. El valor predeterminado que se devolverá si el análisis falla. Float32
Valor devuelto Devuelve un valor de tipo Float32 si la conversión se realiza correctamente; de lo contrario, devuelve el valor predeterminado si se proporcionó, o 0 si no. Float32 Ejemplos Conversión correcta
Query
SELECT toFloat32OrDefault('8', CAST('0', 'Float32'))
Response
8
Conversión fallida
Query
SELECT toFloat32OrDefault('abc', CAST('0', 'Float32'))
Response
0

toFloat32OrNull

Introducido en: v1.1.0 Convierte un valor de entrada en un valor de tipo Float32, pero devuelve NULL en caso de error. Como toFloat32, pero devuelve NULL en lugar de lanzar una excepción si se produce un error de conversión. Argumentos admitidos:
  • Valores de tipo (U)Int*.
  • Representaciones en cadena de (U)Int8/16/32/128/256.
  • Valores de tipo Float*, incluidos NaN e Inf.
  • Representaciones en cadena de Float*, incluidos NaN e Inf (sin distinguir entre mayúsculas y minúsculas).
Argumentos no admitidos (devuelven NULL):
  • Representaciones en cadena de valores binarios y hexadecimales; por ejemplo, SELECT toFloat32OrNull('0xc0fe');.
  • Formatos de cadena no válidos.
Véase también: Sintaxis
toFloat32OrNull(x)
Argumentos
  • x — Una representación en cadena de un número. String
Valor devuelto Devuelve un valor de coma flotante de 32 bits si la operación se realiza correctamente; de lo contrario, NULL. Float32 o NULL Ejemplos Ejemplo de uso
Query
SELECT
    toFloat32OrNull('42.7'),
    toFloat32OrNull('NaN'),
    toFloat32OrNull('abc')
FORMAT Vertical
Response
Row 1:
──────
toFloat32OrNull('42.7'): 42.7
toFloat32OrNull('NaN'):  nan
toFloat32OrNull('abc'):  \N

toFloat32OrZero

Introducido en: v1.1.0 Convierte un valor de entrada en un valor de tipo Float32, pero devuelve 0 en caso de error. Es como toFloat32, pero devuelve 0 en lugar de lanzar una excepción cuando se producen errores de conversión. Véase también: Sintaxis
toFloat32OrZero(x)
Argumentos
  • x — Una representación en cadena de un número. String
Valor devuelto Devuelve un valor de coma flotante de 32 bits si la operación se realiza correctamente; en caso contrario, 0. Float32 Ejemplos Ejemplo de uso
Query
SELECT
    toFloat32OrZero('42.7'),
    toFloat32OrZero('abc')
FORMAT Vertical
Response
Row 1:
──────
toFloat32OrZero('42.7'): 42.7
toFloat32OrZero('abc'):  0

toFloat64

Introducido en: v1.1.0 Convierte un valor de entrada en un valor del tipo Float64. Lanza una excepción en caso de error. Argumentos admitidos:
  • Valores de tipo (U)Int*.
  • Representaciones de cadena de (U)Int8/16/32/128/256.
  • Valores de tipo Float*, incluidos NaN e Inf.
  • Representaciones de cadena del tipo Float*, incluidos NaN e Inf (sin distinguir entre mayúsculas y minúsculas).
Argumentos no admitidos:
  • Representaciones de cadena de valores binarios y hexadecimales, por ejemplo, SELECT toFloat64('0xc0fe');.
Véase también: Sintaxis
toFloat64(expr)
Argumentos
  • expr — Expresión que devuelve un número o su representación en cadena. Expresión
Valor devuelto Devuelve un valor de punto flotante de 64 bits. Float64 Ejemplos Ejemplo de uso
Query
SELECT
    toFloat64(42.7),
    toFloat64('42.7'),
    toFloat64('NaN')
FORMAT Vertical
Response
Row 1:
──────
toFloat64(42.7):   42.7
toFloat64('42.7'): 42.7
toFloat64('NaN'):  nan

toFloat64OrDefault

Introducido en: v21.11.0 Al igual que toFloat64, esta función convierte un valor de entrada en un valor de tipo Float64, pero devuelve el valor por defecto en caso de error. Si no se proporciona ningún valor default, se devuelve 0 en caso de error. Sintaxis
toFloat64OrDefault(expr[, default])
Argumentos
  • expr — Expresión que devuelve un número o la representación en cadena de un número. String o (U)Int* o Float*
  • default — Opcional. El valor predeterminado que se devuelve si el análisis no se realiza correctamente. Float64
Valor devuelto Devuelve un valor de tipo Float64 si la operación se realiza correctamente; de lo contrario, devuelve el valor predeterminado si se proporciona, o 0 en caso contrario. Float64 Ejemplos Conversión correcta
Query
SELECT toFloat64OrDefault('8', CAST('0', 'Float64'))
Response
8
Error de conversión
Query
SELECT toFloat64OrDefault('abc', CAST('0', 'Float64'))
Response
0

toFloat64OrNull

Introducido en: v1.1.0 Convierte un valor de entrada en un valor de tipo Float64, pero devuelve NULL en caso de error. Como toFloat64, pero devuelve NULL en lugar de lanzar una excepción si se producen errores de conversión. Argumentos admitidos:
  • Valores de tipo (U)Int*.
  • Representaciones de cadena de (U)Int8/16/32/128/256.
  • Valores de tipo Float*, incluidos NaN e Inf.
  • Representaciones de cadena del tipo Float*, incluidos NaN e Inf (sin distinguir entre mayúsculas y minúsculas).
Argumentos no admitidos (devuelven NULL):
  • Representaciones de cadena de valores binarios y hexadecimales, p. ej., SELECT toFloat64OrNull('0xc0fe');.
  • Formatos de cadena no válidos.
Véase también: Sintaxis
toFloat64OrNull(x)
Argumentos
  • x — La representación en cadena de un número. String
Valor devuelto Devuelve un valor de tipo Float64 si la conversión se realiza correctamente; en caso contrario, NULL. Float64 o NULL Ejemplos Ejemplo de uso
Query
SELECT
    toFloat64OrNull('42.7'),
    toFloat64OrNull('NaN'),
    toFloat64OrNull('abc')
FORMAT Vertical
Response
Row 1:
──────
toFloat64OrNull('42.7'): 42.7
toFloat64OrNull('NaN'):  nan
toFloat64OrNull('abc'):  \N

toFloat64OrZero

Introducido en: v1.1.0 Convierte un valor de entrada a un valor de tipo Float64, pero devuelve 0 en caso de error. Al igual que toFloat64, pero devuelve 0 en lugar de lanzar una excepción si se producen errores de conversión. Vea también: Sintaxis
toFloat64OrZero(x)
Argumentos
  • x — La representación textual de un número. String
Valor devuelto Devuelve un valor de coma flotante de 64 bits si la operación se realiza correctamente; en caso contrario, 0. Float64 Ejemplos Ejemplo de uso
Query
SELECT
    toFloat64OrZero('42.7'),
    toFloat64OrZero('abc')
FORMAT Vertical
Response
Row 1:
──────
toFloat64OrZero('42.7'): 42.7
toFloat64OrZero('abc'):  0

toInt128

Introducido en: v1.1.0 Convierte un valor de entrada en un valor de tipo Int128. Lanza una excepción si se produce un error. La función redondea hacia cero; es decir, trunca los dígitos fraccionarios de los números. Argumentos admitidos:
  • Valores o representaciones en cadena del tipo (U)Int*.
  • Valores del tipo Float*.
Argumentos no admitidos:
  • Representaciones en cadena de valores Float*, incluidos NaN e Inf.
  • Representaciones en cadena de valores binarios y hexadecimales; por ejemplo, SELECT toInt128('0xc0fe');.
Si el valor de entrada no puede representarse dentro de los límites de Int128, el resultado se desborda por arriba o por abajo. Esto no se considera un error.
Véase también: Sintaxis
toInt128(expr)
Argumentos
  • expr — Expresión que devuelve un número o su representación en cadena. Expresión
Valor devuelto Devuelve un valor entero de 128 bits. Int128 Ejemplos Ejemplo de uso
Query
SELECT
    toInt128(-128),
    toInt128(-128.8),
    toInt128('-128')
FORMAT Vertical
Response
Row 1:
──────
toInt128(-128):   -128
toInt128(-128.8): -128
toInt128('-128'): -128

toInt128OrDefault

Introducido en: v21.11.0 Al igual que toInt128, esta función convierte un valor de entrada en un valor de tipo Int128, pero devuelve el valor predeterminado si se produce un error. Si no se proporciona ningún valor default, se devuelve 0 en caso de error. Sintaxis
toInt128OrDefault(expr[, default])
Argumentos
  • expr — Expresión que devuelve un número o una representación en cadena de un número. String o (U)Int* o Float*
  • default — Opcional. El valor predeterminado que se devuelve si el análisis falla. Int128
Valor devuelto Devuelve un valor de tipo Int128 si la operación se realiza correctamente; de lo contrario, devuelve el valor predeterminado si se proporciona, o 0 si no. Int128 Ejemplos Conversión correcta
Query
SELECT toInt128OrDefault('-128', CAST('-1', 'Int128'))
Response
-128
Conversión fallida
Query
SELECT toInt128OrDefault('abc', CAST('-1', 'Int128'))
Response
-1

toInt128OrNull

Introducido en: v20.8.0 Al igual que toInt128, esta función convierte un valor de entrada en un valor de tipo Int128, pero devuelve NULL en caso de error. Argumentos admitidos:
  • Representaciones en cadena de (U)Int*.
Argumentos no admitidos (devuelven NULL):
  • Representaciones en cadena de valores Float*, incluidos NaN e Inf.
  • Representaciones en cadena de valores binarios y hexadecimales; por ejemplo, SELECT toInt128OrNull('0xc0fe');.
Si el valor de entrada no puede representarse dentro de los límites de Int128, se produce un desbordamiento o subdesbordamiento en el resultado. Esto no se considera un error.
Véase también: Sintaxis
toInt128OrNull(x)
Argumentos
  • x — Una representación en cadena de un número. String
Valor devuelto Devuelve un valor de tipo Int128, o NULL si la conversión no se realiza correctamente. Int128 o NULL Ejemplos Ejemplo de uso
Query
SELECT
    toInt128OrNull('-128'),
    toInt128OrNull('abc')
FORMAT Vertical
Response
Row 1:
──────
toInt128OrNull('-128'): -128
toInt128OrNull('abc'):  \N

toInt128OrZero

Introducido en: v20.8.0 Convierte un valor de entrada al tipo Int128, pero devuelve 0 en caso de error. Es como toInt128, pero devuelve 0 en lugar de lanzar una excepción. Véase también: Sintaxis
toInt128OrZero(x)
Argumentos Valor devuelto Devuelve el valor de entrada convertido o 0 si la conversión falla. Int128 Ejemplos Ejemplo de uso
Query
SELECT toInt128OrZero('123')
Response
123
Si la conversión falla, devuelve cero
Query
SELECT toInt128OrZero('abc')
Response
0

toInt16

Introducido en: v1.1.0 Convierte un valor de entrada en un valor de tipo Int16. Lanza una excepción en caso de error. Argumentos admitidos:
  • Valores o representaciones en cadena del tipo (U)Int*.
  • Valores del tipo Float*.
Argumentos no admitidos:
  • Representaciones en cadena de valores Float*, incluidos NaN e Inf.
  • Representaciones en cadena de valores binarios y hexadecimales; por ejemplo, SELECT toInt16('0xc0fe');.
Si el valor de entrada no puede representarse dentro de los límites de Int16, se produce un desbordamiento o subdesbordamiento del resultado. Esto no se considera un error. Por ejemplo: SELECT toInt16(32768) == -32768;.
La función usa redondeo hacia cero, lo que significa que trunca los dígitos fraccionarios de los números.
Véase también: Sintaxis
toInt16(expr)
Argumentos
  • expr — Expresión que devuelve un número o la representación en cadena de un número. expresión
Valor devuelto Devuelve un valor entero de 16 bits. Int16 Ejemplos Ejemplo de uso
Query
SELECT
    toInt16(-16),
    toInt16(-16.16),
    toInt16('-16')
FORMAT Vertical
Response
Row 1:
──────
toInt16(-16):    -16
toInt16(-16.16): -16
toInt16('-16'):  -16

toInt16OrDefault

Introducido en: v21.11.0 Al igual que toInt16, esta función convierte un valor de entrada en un valor de tipo Int16, pero devuelve el valor por defecto en caso de error. Si no se pasa ningún valor default, se devuelve 0 en caso de error. Sintaxis
toInt16OrDefault(expr[, default])
Argumentos
  • expr — Expresión que devuelve un número o la representación en cadena de un número. String o (U)Int* o Float*
  • default — Opcional. El valor predeterminado que se devuelve si el análisis no se realiza correctamente. Int16
Valor devuelto Devuelve un valor de tipo Int16 si la operación se realiza correctamente; de lo contrario, devuelve el valor predeterminado, si se proporciona, o 0 si no. Int16 Ejemplos Conversión correcta
Query
SELECT toInt16OrDefault('-16', CAST('-1', 'Int16'))
Response
-16
Conversión fallida
Query
SELECT toInt16OrDefault('abc', CAST('-1', 'Int16'))
Response
-1

toInt16OrNull

Introducido en: v1.1.0 Al igual que toInt16, esta función convierte un valor de entrada en un valor de tipo Int16, pero devuelve NULL en caso de error. Argumentos admitidos:
  • Representaciones en cadena de (U)Int*.
Argumentos no admitidos (devuelven NULL):
  • Representaciones en cadena de valores Float*, incluidos NaN e Inf.
  • Representaciones en cadena de valores binarios y hexadecimales; por ejemplo, SELECT toInt16OrNull('0xc0fe');.
Si el valor de entrada no puede representarse dentro de los límites de Int16, se produce un desbordamiento o subdesbordamiento en el resultado. Esto no se considera un error.
Véase también: Sintaxis
toInt16OrNull(x)
Argumentos
  • x — Una representación en cadena de un número. String
Valor devuelto Devuelve un valor de tipo Int16 o NULL si la conversión no se realiza correctamente. Int16 o NULL Ejemplos Ejemplo de uso
Query
SELECT
    toInt16OrNull('-16'),
    toInt16OrNull('abc')
FORMAT Vertical
Response
fila 1:
──────
toInt16OrNull('-16'): -16
toInt16OrNull('abc'): \N

toInt16OrZero

Introducido en: v1.1.0 Al igual que toInt16, esta función convierte un valor de entrada en un valor del tipo Int16, pero devuelve 0 en caso de error. Argumentos admitidos:
  • Representaciones en cadena de (U)Int*.
Argumentos no admitidos (devuelven 0):
  • Representaciones en cadena de valores Float*, incluidos NaN e Inf.
  • Representaciones en cadena de valores binarios y hexadecimales, por ejemplo, SELECT toInt16OrZero('0xc0fe');.
Si el valor de entrada no puede representarse dentro de los límites de Int16, se produce un desbordamiento o subdesbordamiento en el resultado. Esto no se considera un error.
Véase también: Sintaxis
toInt16OrZero(x)
Argumentos
  • x — Una representación en cadena de un número. String
Valor devuelto Devuelve un valor de tipo Int16 o 0 si la conversión no se realiza correctamente. Int16 Ejemplos Ejemplo de uso
Query
SELECT
    toInt16OrZero('16'),
    toInt16OrZero('abc')
FORMAT Vertical
Response
Fila 1:
──────
toInt16OrZero('16'): 16
toInt16OrZero('abc'): 0

toInt256

Introducido en: v1.1.0 Convierte un valor de entrada en un valor de tipo Int256. Lanza una excepción en caso de error. La función usa redondeo hacia cero, es decir, trunca los dígitos fraccionarios de los números. Argumentos admitidos:
  • Valores o representaciones en cadena del tipo (U)Int*.
  • Valores de tipo Float*.
Argumentos no admitidos:
  • Representaciones en cadena de valores Float*, incluidos NaN e Inf.
  • Representaciones en cadena de valores binarios y hexadecimales, por ejemplo, SELECT toInt256('0xc0fe');.
Si el valor de entrada no puede representarse dentro de los límites de Int256, el resultado puede desbordarse por exceso o por defecto. Esto no se considera un error.
Véase también: Sintaxis
toInt256(expr)
Argumentos
  • expr — Expresión que devuelve un número o la representación en cadena de un número. Expresión
Valor devuelto Devuelve un valor entero de 256 bits. Int256 Ejemplos Ejemplo de uso
Query
SELECT
    toInt256(-256),
    toInt256(-256.256),
    toInt256('-256')
FORMAT Vertical
Response
fila 1:
──────
toInt256(-256):     -256
toInt256(-256.256): -256
toInt256('-256'):   -256

toInt256OrDefault

Introducido en: v21.11.0 Al igual que toInt256, esta función convierte un valor de entrada en un valor de tipo Int256, pero devuelve el valor predeterminado en caso de producirse un error. Si no se proporciona ningún valor default, se devuelve 0 en caso de error. Sintaxis
toInt256OrDefault(expr[, default])
Argumentos
  • expr — Expresión que devuelve un número o la representación en cadena de un número. String o (U)Int* o Float*
  • default — Opcional. El valor predeterminado que se devuelve si el análisis no se realiza correctamente. Int256
Valor devuelto Devuelve un valor de tipo Int256 si la conversión se realiza correctamente; de lo contrario, devuelve el valor predeterminado si se proporciona, o 0 si no. Int256 Ejemplos Conversión correcta
Query
SELECT toInt256OrDefault('-256', CAST('-1', 'Int256'))
Response
-256
Conversión fallida
Query
SELECT toInt256OrDefault('abc', CAST('-1', 'Int256'))
Response
-1

toInt256OrNull

Introducido en: v20.8.0 Al igual que toInt256, esta función convierte un valor de entrada en un valor de tipo Int256, pero devuelve NULL en caso de error. Argumentos admitidos:
  • Representaciones de cadena de (U)Int*.
Argumentos no admitidos (devuelven NULL):
  • Representaciones de cadena de valores Float*, incluidos NaN e Inf.
  • Representaciones de cadena de valores binarios y hexadecimales; por ejemplo, SELECT toInt256OrNull('0xc0fe');.
Si el valor de entrada no puede representarse dentro de los límites de Int256, se produce un desbordamiento por exceso o por defecto en el resultado. Esto no se considera un error.
Véase también: Sintaxis
toInt256OrNull(x)
Argumentos
  • x — La representación en cadena de un número. String
Valor devuelto Devuelve un valor de tipo Int256 o NULL si la conversión no se realiza correctamente. Int256 o NULL Ejemplos Ejemplo de uso
Query
SELECT
    toInt256OrNull('-256'),
    toInt256OrNull('abc')
FORMAT Vertical
Response
Fila 1:
──────
toInt256OrNull('-256'): -256
toInt256OrNull('abc'):  \N

toInt256OrZero

Introducido en: v20.8.0 Convierte un valor de entrada al tipo Int256, pero devuelve 0 en caso de error. Igual que toInt256, pero devuelve 0 en lugar de generar una excepción. Véase también: Sintaxis
toInt256OrZero(x)
Argumentos Valor devuelto Devuelve el valor de entrada convertido o 0 si la conversión falla. Int256 Ejemplos Ejemplo de uso
Query
SELECT toInt256OrZero('123')
Response
123
Si falla la conversión, devuelve cero
Query
SELECT toInt256OrZero('abc')
Response
0

toInt32

Introducido en: v1.1.0 Convierte un valor de entrada en un valor de tipo Int32. Lanza una excepción en caso de error. Argumentos admitidos:
  • Valores o representaciones en cadena del tipo (U)Int*.
  • Valores del tipo Float*.
Argumentos no admitidos:
  • Representaciones en cadena de valores Float*, incluidos NaN e Inf.
  • Representaciones en cadena de valores binarios y hexadecimales, por ejemplo, SELECT toInt32('0xc0fe');.
Si el valor de entrada no puede representarse dentro de los límites de Int32, se produce un desbordamiento por exceso o por defecto. Esto no se considera un error. Por ejemplo: SELECT toInt32(2147483648) == -2147483648;
La función utiliza redondeo hacia cero, lo que significa que trunca los dígitos fraccionarios de los números.
Véase también: Sintaxis
toInt32(expr)
Argumentos
  • expr — Expresión que devuelve un número o la representación en cadena de un número. Expresión
Valor devuelto Devuelve un valor entero de 32 bits. Int32 Ejemplos Ejemplo de uso
Query
SELECT
    toInt32(-32),
    toInt32(-32.32),
    toInt32('-32')
FORMAT Vertical
Response
Fila 1:
──────
toInt32(-32):    -32
toInt32(-32.32): -32
toInt32('-32'):  -32

toInt32OrDefault

Introducido en: v21.11.0 Al igual que toInt32, esta función convierte un valor de entrada en un valor de tipo Int32, pero devuelve el valor predeterminado en caso de error. Si no se pasa ningún valor default, se devuelve 0 en caso de error. Sintaxis
toInt32OrDefault(expr[, default])
Argumentos
  • expr — Expresión que devuelve un número o la representación en cadena de un número. String o (U)Int* o Float*
  • default — Opcional. El valor predeterminado que se devuelve si el análisis no es correcto. Int32
Valor devuelto Devuelve un valor de tipo Int32 si la conversión se realiza correctamente; de lo contrario, devuelve el valor predeterminado si se proporciona, o 0 en caso contrario. Int32 Ejemplos Conversión correcta
Query
SELECT toInt32OrDefault('-32', CAST('-1', 'Int32'))
Response
-32
Error de conversión
Query
SELECT toInt32OrDefault('abc', CAST('-1', 'Int32'))
Response
-1

toInt32OrNull

Introducido en: v1.1.0 Al igual que toInt32, esta función convierte un valor de entrada en un valor de tipo Int32, pero devuelve NULL en caso de error. Argumentos admitidos:
  • Representaciones en cadena de (U)Int*.
Argumentos no admitidos (devuelven NULL):
  • Representaciones en cadena de valores Float*, incluidos NaN e Inf.
  • Representaciones en cadena de valores binarios y hexadecimales; por ejemplo, SELECT toInt32OrNull('0xc0fe');.
Si el valor de entrada no puede representarse dentro de los límites de Int32, se produce un desbordamiento o subdesbordamiento en el resultado. Esto no se considera un error.
Véase también: Sintaxis
toInt32OrNull(x)
Argumentos
  • x — Una representación en cadena de un número. String
Valor devuelto Devuelve un valor de tipo Int32 o NULL si la conversión no se realiza correctamente. Int32 o NULL Ejemplos Ejemplo de uso
Query
SELECT
    toInt32OrNull('-32'),
    toInt32OrNull('abc')
FORMAT Vertical
Response
fila 1:
──────
toInt32OrNull('-32'): -32
toInt32OrNull('abc'): \N

toInt32OrZero

Introducido en: v1.1.0 Al igual que toInt32, esta función convierte un valor de entrada en un valor de tipo Int32, pero devuelve 0 en caso de error. Argumentos admitidos:
  • Representaciones en cadena de (U)Int*.
Argumentos no admitidos (devuelven 0):
  • Representaciones en cadena de valores Float*, incluidos NaN e Inf.
  • Representaciones en cadena de valores binarios y hexadecimales; por ejemplo, SELECT toInt32OrZero('0xc0fe');.
Si el valor de entrada no puede representarse dentro de los límites de Int32, se produce un desbordamiento o subdesbordamiento del resultado. Esto no se considera un error.
Véase también: Sintaxis
toInt32OrZero(x)
Argumentos
  • x — Una representación en cadena de un número. String
Valor devuelto Devuelve un valor de tipo Int32 o 0 si la conversión no se realiza correctamente. Int32 Ejemplos Ejemplo de uso
Query
SELECT
    toInt32OrZero('32'),
    toInt32OrZero('abc')
FORMAT Vertical
Response
fila 1:
──────
toInt32OrZero('32'): 32
toInt32OrZero('abc'): 0

toInt64

Introducido en: v1.1.0 Convierte un valor de entrada en un valor de tipo Int64. Lanza una excepción si se produce un error. Argumentos admitidos:
  • Valores o representaciones de cadena del tipo (U)Int*.
  • Valores del tipo Float*.
Argumentos no admitidos:
  • Representaciones de cadena de valores Float*, incluidos NaN e Inf.
  • Representaciones de cadena de valores binarios y hexadecimales, por ejemplo, SELECT toInt64('0xc0fe');.
Si el valor de entrada no puede representarse dentro de los límites de Int64, el resultado se desborda por exceso o por defecto. Esto no se considera un error. Por ejemplo: SELECT toInt64(9223372036854775808) == -9223372036854775808;
La función utiliza redondeo hacia cero, lo que significa que trunca los dígitos fraccionarios de los números.
Véase también: Sintaxis
toInt64(expr)
Argumentos
  • expr — Expresión que devuelve un número o su representación en cadena. Admitido: valores o representaciones en cadena del tipo (U)Int*, valores del tipo Float*. No admitido: representaciones en cadena de valores Float*, incluidos NaN e Inf, y representaciones en cadena de valores binarios y hexadecimales. Expresión
Valor devuelto Devuelve un valor entero de 64 bits. Int64 Ejemplos Ejemplo de uso
Query
SELECT
    toInt64(-64),
    toInt64(-64.64),
    toInt64('-64')
FORMAT Vertical
Response
fila 1:
──────
toInt64(-64):    -64
toInt64(-64.64): -64
toInt64('-64'):  -64

toInt64OrDefault

Introducido en: v21.11.0 Al igual que toInt64, esta función convierte un valor de entrada a un valor de tipo Int64, pero devuelve el valor predeterminado en caso de error. Si no se pasa ningún valor default, se devuelve 0 en caso de error. Sintaxis
toInt64OrDefault(expr[, default])
Argumentos
  • expr — Expresión que devuelve un número o la representación en cadena de un número. String o (U)Int* o Float*
  • default — Opcional. El valor predeterminado que se devuelve si no se puede analizar. Int64
Valor devuelto Devuelve un valor de tipo Int64 si la conversión se realiza correctamente; de lo contrario, devuelve el valor predeterminado, si se proporciona, o 0 en caso contrario. Int64 Ejemplos Conversión correcta
Query
SELECT toInt64OrDefault('-64', CAST('-1', 'Int64'))
Response
-64
Conversión fallida
Query
SELECT toInt64OrDefault('abc', CAST('-1', 'Int64'))
Response
-1

toInt64OrNull

Introducido en: v1.1.0 Al igual que toInt64, esta función convierte un valor de entrada en un valor de tipo Int64, pero devuelve NULL en caso de error. Argumentos admitidos:
  • Representaciones en cadena de (U)Int*.
Argumentos no admitidos (devuelven NULL):
  • Representaciones en cadena de valores Float*, incluidos NaN e Inf.
  • Representaciones en cadena de valores binarios y hexadecimales, por ejemplo, SELECT toInt64OrNull('0xc0fe');.
Si el valor de entrada no puede representarse dentro de los límites de Int64, se produce desbordamiento o subdesbordamiento en el resultado. Esto no se considera un error.
Véase también: Sintaxis
toInt64OrNull(x)
Argumentos
  • x — La representación en cadena de un número. String
Valor devuelto Devuelve un valor de tipo Int64; en caso contrario, NULL si la conversión no se realiza correctamente. Int64 o NULL Ejemplos Ejemplo de uso
Query
SELECT
    toInt64OrNull('-64'),
    toInt64OrNull('abc')
FORMAT Vertical
Response
Row 1:
──────
toInt64OrNull('-64'): -64
toInt64OrNull('abc'): \N

toInt64OrZero

Introducido en: v1.1.0 Convierte un valor de entrada al tipo Int64, pero devuelve 0 si se produce un error. Igual que toInt64, pero devuelve 0 en lugar de lanzar una excepción. Véase también: Sintaxis
toInt64OrZero(x)
Argumentos Valor devuelto Devuelve el valor de entrada convertido; en caso contrario, 0 si la conversión falla. Int64 Ejemplos Ejemplo de uso
Query
SELECT toInt64OrZero('123')
Response
123
Si la conversión falla, devuelve cero
Query
SELECT toInt64OrZero('abc')
Response
0

toInt8

Introducido en: v1.1.0 Convierte un valor de entrada en un valor de tipo Int8. Lanza una excepción en caso de error. Argumentos admitidos:
  • Valores o representaciones de cadena del tipo (U)Int*.
  • Valores del tipo Float*.
Argumentos no admitidos:
  • Representaciones de cadena de valores Float*, incluidos NaN e Inf.
  • Representaciones de cadena de valores en binario y hexadecimal; por ejemplo, SELECT toInt8('0xc0fe');.
Si el valor de entrada no puede representarse dentro de los límites de Int8, se produce un desbordamiento por exceso o subdesbordamiento en el resultado. Esto no se considera un error. Por ejemplo: SELECT toInt8(128) == -128;.
La función usa rounding towards zero, lo que significa que trunca los dígitos fraccionarios de los números.
Véase también: Sintaxis
toInt8(expr)
Argumentos
  • expr — Expresión que devuelve un número o la representación en cadena de un número. Expresión
Valor devuelto Devuelve un valor entero de 8 bits. Int8 Ejemplos Ejemplo de uso
Query
SELECT
    toInt8(-8),
    toInt8(-8.8),
    toInt8('-8')
FORMAT Vertical
Response
Fila 1:
──────
toInt8(-8):   -8
toInt8(-8.8): -8
toInt8('-8'): -8

toInt8OrDefault

Introducido en: v21.11.0 Al igual que toInt8, esta función convierte un valor de entrada en un valor de tipo Int8, pero devuelve el valor predeterminado si se produce un error. Si no se proporciona ningún valor default, se devuelve 0 en caso de error. Sintaxis
toInt8OrDefault(expr[, default])
Argumentos
  • expr — Expresión que devuelve un número o una representación en cadena de un número. String o (U)Int* o Float*
  • default — Opcional. El valor predeterminado que se devuelve si no se puede analizar. Int8
Valor devuelto Devuelve un valor de tipo Int8 si la conversión se realiza correctamente; de lo contrario, devuelve el valor predeterminado si se proporcionó, o 0 si no. Int8 Ejemplos Conversión correcta
Query
SELECT toInt8OrDefault('-8', CAST('-1', 'Int8'))
Response
-8
Error de conversión
Query
SELECT toInt8OrDefault('abc', CAST('-1', 'Int8'))
Response
-1

toInt8OrNull

Introducido en: v1.1.0 Al igual que toInt8, esta función convierte un valor de entrada en un valor de tipo Int8, pero devuelve NULL en caso de error. Argumentos admitidos:
  • Representaciones en cadena de (U)Int*.
Argumentos no admitidos (devuelven NULL):
  • Representaciones en cadena de valores Float*, incluidos NaN e Inf.
  • Representaciones en cadena de valores binarios y hexadecimales; por ejemplo, SELECT toInt8OrNull('0xc0fe');.
Si el valor de entrada no puede representarse dentro de los límites de Int8, se produce un desbordamiento o subdesbordamiento del resultado. Esto no se considera un error.
Véase también: Sintaxis
toInt8OrNull(x)
Argumentos
  • x — Una representación en cadena de un número. String
Valor devuelto Devuelve un valor de tipo Int8 o NULL si la conversión no se realiza correctamente. Int8 o NULL Ejemplos Ejemplo de uso
Query
SELECT
    toInt8OrNull('-8'),
    toInt8OrNull('abc')
FORMAT Vertical
Response
Fila 1:
──────
toInt8OrNull('-8'):  -8
toInt8OrNull('abc'): \N

toInt8OrZero

Introducido en: v1.1.0 Al igual que toInt8, esta función convierte un valor de entrada en un valor de tipo Int8, pero devuelve 0 en caso de error. Argumentos admitidos:
  • Representaciones de cadena de (U)Int*.
Argumentos no admitidos (devuelven 0):
  • Representaciones de cadena de valores Float*, incluidos NaN e Inf.
  • Representaciones de cadena de valores binarios y hexadecimales; por ejemplo, SELECT toInt8OrZero('0xc0fe');.
Si el valor de entrada no puede representarse dentro de los límites de Int8, se produce desbordamiento o subdesbordamiento en el resultado. Esto no se considera un error.
Véase también: Sintaxis
toInt8OrZero(x)
Argumentos
  • x — Una representación en cadena de un número. String
Valor devuelto Devuelve un valor de tipo Int8; de lo contrario, 0 si la conversión falla. Int8 Ejemplos Ejemplo de uso
Query
SELECT
    toInt8OrZero('8'),
    toInt8OrZero('abc')
FORMAT Vertical
Response
Row 1:
──────
toInt8OrZero('8'): 8
toInt8OrZero('abc'): 0

toInterval

Introducido en: v25.4.0 Crea un valor de Interval a partir de un valor numérico y de una cadena que indica la unidad. Esta función proporciona una forma unificada de crear intervalos de distintos tipos (segundos, minutos, horas, días, semanas, meses, trimestres, años) desde una sola función, especificando la unidad como un argumento de cadena. La cadena de la unidad no distingue entre mayúsculas y minúsculas. Esto equivale a llamar a funciones específicas de tipo como toIntervalSecond, toIntervalMinute, toIntervalDay, etc., pero permite especificar la unidad de forma dinámica como un parámetro de cadena. Sintaxis
toInterval(value, unit)
Argumentos
  • value — El valor numérico que representa el número de unidades. Puede ser cualquier tipo numérico. Int8 o Int16 o Int32 o Int64 o UInt8 o UInt16 o UInt32 o UInt64 o Float32 o Float64
  • unit — La unidad de tiempo. Debe ser una cadena constante. Valores válidos: ‘nanosecond’, ‘microsecond’, ‘millisecond’, ‘second’, ‘minute’, ‘hour’, ‘day’, ‘week’, ‘month’, ‘quarter’, ‘year’. String
Valor devuelto Devuelve un valor Interval del tipo especificado. El tipo de resultado depende de la unidad: IntervalNanosecond, IntervalMicrosecond, IntervalMillisecond, IntervalSecond, IntervalMinute, IntervalHour, IntervalDay, IntervalWeek, IntervalMonth, IntervalQuarter o IntervalYear. Interval Ejemplos Crear intervalos con distintas unidades
Query
SELECT
    toInterval(5, 'second') AS seconds,
    toInterval(3, 'day') AS days,
    toInterval(2, 'month') AS months
Response
┌─seconds─┬─days─┬─months─┐
│ 5       │ 3    │ 2      │
└─────────┴──────┴────────┘
Usar intervalos en la aritmética de fechas
Query
SELECT
    now() AS current_time,
    now() + toInterval(1, 'hour') AS one_hour_later,
    now() - toInterval(7, 'day') AS week_ago
Response
┌─────────current_time─┬──one_hour_later─────┬────────────week_ago─┐
│ 2025-01-04 10:30:00  │ 2025-01-04 11:30:00 │ 2024-12-28 10:30:00 │
└──────────────────────┴─────────────────────┴─────────────────────┘
Creación dinámica de intervalos
Query
SELECT toDate('2025-01-01') + toInterval(number, 'day') AS dates
FROM numbers(5)
Response
┌──────dates─┐
│ 2025-01-01 │
│ 2025-01-02 │
│ 2025-01-03 │
│ 2025-01-04 │
│ 2025-01-05 │
└────────────┘

toIntervalDay

Introducido en: v1.1.0 Devuelve un intervalo de n días del tipo de datos IntervalDay. Sintaxis
toIntervalDay(n)
Argumentos
  • n — Número de días. Números enteros o su representación en cadena, y números de coma flotante. (U)Int* o Float* o String
Valor devuelto Devuelve un intervalo de n días. Interval Ejemplos Ejemplo de uso
Query
WITH
    toDate('2025-06-15') AS date,
    toIntervalDay(5) AS interval_to_days
SELECT date + interval_to_days AS result
Response
┌─────result─┐
│ 2025-06-20 │
└────────────┘

toIntervalHour

Introducido en: v1.1.0 Devuelve un intervalo de n horas del tipo de dato IntervalHour. Sintaxis
toIntervalHour(n)
Argumentos
  • n — Número de horas. Números enteros o sus representaciones en cadena, y números de coma flotante. Int* o UInt* o Float* o String
Valor devuelto Devuelve un intervalo de n horas. Interval Ejemplos Ejemplo de uso
Query
WITH
    toDate('2025-06-15') AS date,
    toIntervalHour(12) AS interval_to_hours
SELECT date + interval_to_hours AS result
Response
┌──────────────result─┐
│ 2025-06-15 12:00:00 │
└─────────────────────┘

toIntervalMicrosecond

Introducido en: v22.6.0 Devuelve un intervalo de n microsegundos del tipo de dato IntervalMicrosecond. Sintaxis
toIntervalMicrosecond(n)
Argumentos Valor devuelto Devuelve un intervalo de n microsegundos. Interval Ejemplos Ejemplo de uso
Query
WITH
    toDateTime('2025-06-15') AS date,
    toIntervalMicrosecond(30) AS interval_to_microseconds
SELECT date + interval_to_microseconds AS result
Response
┌─────────────────────result─┐
│ 2025-06-15 00:00:00.000030 │
└────────────────────────────┘

toIntervalMillisecond

Introducido en: v22.6.0 Devuelve un intervalo de n milisegundos del tipo de datos IntervalMillisecond. Sintaxis
toIntervalMillisecond(n)
Argumentos Valor devuelto Devuelve un intervalo de n milisegundos. Interval Ejemplos Ejemplo de uso
Query
WITH
    toDateTime('2025-06-15') AS date,
    toIntervalMillisecond(30) AS interval_to_milliseconds
SELECT date + interval_to_milliseconds AS result
Response
┌──────────────────result─┐
│ 2025-06-15 00:00:00.030 │
└─────────────────────────┘

toIntervalMinute

Introducido en: v1.1.0 Devuelve un intervalo de n minutos del tipo de datos IntervalMinute. Sintaxis
toIntervalMinute(n)
Argumentos
  • n — Número de minutos. Números enteros o sus representaciones en cadena, y números de punto flotante. (U)Int* o Float* o String
Valor devuelto Devuelve un intervalo de n minutos. Interval Ejemplos Ejemplo de uso
Query
WITH
    toDate('2025-06-15') AS date,
    toIntervalMinute(12) AS interval_to_minutes
SELECT date + interval_to_minutes AS result
Response
┌──────────────result─┐
│ 2025-06-15 00:12:00 │
└─────────────────────┘

toIntervalMonth

Introducido en: v1.1.0 Devuelve un intervalo de n meses del tipo de datos IntervalMonth. Sintaxis
toIntervalMonth(n)
Argumentos Valor devuelto Devuelve un intervalo de n meses. Interval Ejemplos Ejemplo de uso
Query
WITH
    toDate('2025-06-15') AS date,
    toIntervalMonth(1) AS interval_to_month
SELECT date + interval_to_month AS result
Response
┌─────result─┐
│ 2025-07-15 │
└────────────┘

toIntervalNanosecond

Introducido en: v22.6.0 Devuelve un intervalo de n nanosegundos del tipo de dato IntervalNanosecond. Sintaxis
toIntervalNanosecond(n)
Argumentos Valor devuelto Devuelve un intervalo de n nanosegundos. Interval Ejemplos Ejemplo de uso
Query
WITH
    toDateTime('2025-06-15') AS date,
    toIntervalNanosecond(30) AS interval_to_nanoseconds
SELECT date + interval_to_nanoseconds AS result
Response
┌────────────────────────result─┐
│ 2025-06-15 00:00:00.000000030 │
└───────────────────────────────┘

toIntervalQuarter

Introducido en: v1.1.0 Devuelve un intervalo de n trimestres del tipo de dato IntervalQuarter. Sintaxis
toIntervalQuarter(n)
Argumentos Valor devuelto Devuelve un intervalo de n trimestres. Interval Ejemplos Ejemplo de uso
Query
WITH
    toDate('2025-06-15') AS date,
    toIntervalQuarter(1) AS interval_to_quarter
SELECT date + interval_to_quarter AS result
Response
┌─────result─┐
│ 2025-09-15 │
└────────────┘

toIntervalSecond

Introducido en: v1.1.0 Devuelve un intervalo de n segundos del tipo de datos IntervalSecond. Sintaxis
toIntervalSecond(n)
Argumentos
  • n — Número de segundos. Números enteros o sus representaciones como cadenas, y números de coma flotante. (U)Int* o Float* o String
Valor devuelto Devuelve un intervalo de n segundos. Interval Ejemplos Ejemplo de uso
Query
WITH
    toDate('2025-06-15') AS date,
    toIntervalSecond(30) AS interval_to_seconds
SELECT date + interval_to_seconds AS result
Response
┌──────────────result─┐
│ 2025-06-15 00:00:30 │
└─────────────────────┘

toIntervalWeek

Introducido en: v1.1.0 Devuelve un intervalo de n semanas del tipo de datos IntervalWeek. Sintaxis
toIntervalWeek(n)
Argumentos Valor devuelto Devuelve un intervalo de n semanas. Interval Ejemplos Ejemplo de uso
Query
WITH
    toDate('2025-06-15') AS date,
    toIntervalWeek(1) AS interval_to_week
SELECT date + interval_to_week AS result
Response
┌─────result─┐
│ 2025-06-22 │
└────────────┘

toIntervalYear

Introducido en: v1.1.0 Devuelve un intervalo de n años del tipo de dato IntervalYear. Sintaxis
toIntervalYear(n)
Argumentos Valor devuelto Devuelve un intervalo de n años. Interval Ejemplos Ejemplo de uso
Query
WITH
    toDate('2024-06-15') AS date,
    toIntervalYear(1) AS interval_to_year
SELECT date + interval_to_year AS result
Response
┌─────result─┐
│ 2025-06-15 │
└────────────┘

toLowCardinality

Introducido en: v18.12.0 Convierte el argumento de entrada en la versión LowCardinality del mismo tipo de dato.
Para convertir el tipo de dato LowCardinality en un tipo de dato normal, use la función CAST. Por ejemplo: CAST(x AS String).
Sintaxis
toLowCardinality(expr)
Argumentos Valor devuelto Devuelve el valor de entrada convertido al tipo de dato LowCardinality. LowCardinality Ejemplos Ejemplo de uso
Query
SELECT toLowCardinality('1')
Response
┌─toLowCardinality('1')─┐
│ 1                     │
└───────────────────────┘

toString

Introducido en: v1.1.0 Convierte valores a su representación como cadena. Para argumentos DateTime, la función puede tomar un segundo argumento String que contenga el nombre de la zona horaria. Sintaxis
toString(value[, timezone])
Argumentos
  • value — Valor que se convertirá en cadena. Any
  • timezone — Opcional. Nombre de la zona horaria para convertir DateTime. String
Valor devuelto Devuelve una representación en cadena del valor de entrada. String Ejemplos Ejemplo de uso
Query
SELECT
    now() AS ts,
    time_zone,
    toString(ts, time_zone) AS str_tz_datetime
FROM system.time_zones
WHERE time_zone LIKE 'Europe%'
LIMIT 10
Response
┌──────────────────ts─┬─time_zone─────────┬─str_tz_datetime─────┐
│ 2023-09-08 19:14:59 │ Europe/Amsterdam  │ 2023-09-08 21:14:59 │
│ 2023-09-08 19:14:59 │ Europe/Andorra    │ 2023-09-08 21:14:59 │
│ 2023-09-08 19:14:59 │ Europe/Astrakhan  │ 2023-09-08 23:14:59 │
│ 2023-09-08 19:14:59 │ Europe/Athens     │ 2023-09-08 22:14:59 │
│ 2023-09-08 19:14:59 │ Europe/Belfast    │ 2023-09-08 20:14:59 │
└─────────────────────┴───────────────────┴─────────────────────┘

toStringCutToZero

Introducida en: v1.1.0 Acepta un argumento de tipo String o FixedString y devuelve un String que contiene una copia de la cadena original truncada en el primer byte nulo. Los bytes nulos (\0) se consideran terminadores de cadena. Esta función resulta útil para procesar cadenas de estilo C o datos binarios en los que los bytes nulos marcan el final del contenido significativo. Sintaxis
toStringCutToZero(s)
Argumentos Valor devuelto Devuelve un String que contiene los caracteres anteriores al primer byte nulo. String Ejemplos Ejemplo de uso
Query
SELECT
    toStringCutToZero('hello'),
    toStringCutToZero('hello\0world')
Response
┌─toStringCutToZero('hello')─┬─toStringCutToZero('hello\\0world')─┐
│ hello                      │ hello                             │
└────────────────────────────┴───────────────────────────────────┘

toTime

Introducido en: v1.1.0 Convierte un valor de entrada al tipo Time. Admite la conversión desde String, FixedString, DateTime o tipos numéricos que representan segundos desde la medianoche. Sintaxis
toTime(x)
Argumentos Valor devuelto Devuelve el valor convertido. Time Ejemplos Conversión de String a Time
Query
SELECT toTime('14:30:25')
Response
14:30:25
Conversión de DateTime a Time
Query
SELECT toTime(toDateTime('2025-04-15 14:30:25'))
Response
14:30:25
Conversión de entero a Time
Query
SELECT toTime(52225)
Response
14:30:25

toTime64

Introducido en: v25.6.0 Convierte un valor de entrada al tipo Time64. Admite la conversión desde String, FixedString, DateTime64 o tipos numéricos que representan microsegundos transcurridos desde la medianoche. Proporciona precisión de microsegundos para los valores de tiempo. Sintaxis
toTime64(x)
Argumentos Valor devuelto Devuelve el valor de entrada convertido con precisión de microsegundos. Time64(6) Ejemplos Conversión de String a Time64
Query
SELECT toTime64('14:30:25.123456')
Response
14:30:25.123456
Conversión de DateTime64 a Time64
Query
SELECT toTime64(toDateTime64('2025-04-15 14:30:25.123456', 6))
Response
14:30:25.123456
Conversión de enteros a Time64
Query
SELECT toTime64(52225123456)
Response
14:30:25.123456

toTime64OrNull

Introducido en: v25.6.0 Convierte un valor de entrada en un valor de tipo Time64, pero devuelve NULL en caso de error. Es como toTime64, pero devuelve NULL en lugar de lanzar una excepción cuando se producen errores de conversión. Véase también: Sintaxis
toTime64OrNull(x)
Argumentos
  • x — Una representación textual de una hora con precisión de subsegundos. String
Valor devuelto Devuelve un valor Time64 si la conversión se realiza correctamente; de lo contrario, NULL. Time64 o NULL Ejemplos Ejemplo de uso
Query
SELECT toTime64OrNull('12:30:45.123'), toTime64OrNull('invalid')
Response
┌─toTime64OrNull('12:30:45.123')─┬─toTime64OrNull('invalid')─┐
│                   12:30:45.123 │                      ᴺᵁᴸᴸ │
└────────────────────────────────┴───────────────────────────┘

toTime64OrZero

Introducido en: v25.6.0 Convierte un valor de entrada a un valor de tipo Time64, pero devuelve 00:00:00.000 en caso de error. Al igual que toTime64, pero devuelve 00:00:00.000 en lugar de lanzar una excepción ante errores de conversión. Sintaxis
toTime64OrZero(x)
Argumentos
  • x — Una representación textual de una hora con precisión de fracciones de segundo. String
Valor devuelto Devuelve un valor Time64 si la operación se realiza correctamente; de lo contrario, 00:00:00.000. Time64 Ejemplos Ejemplo de uso
Query
SELECT toTime64OrZero('12:30:45.123'), toTime64OrZero('invalid')
Response
┌─toTime64OrZero('12:30:45.123')─┬─toTime64OrZero('invalid')─┐
│                   12:30:45.123 │             00:00:00.000 │
└────────────────────────────────┴──────────────────────────┘

toTimeOrNull

Introducido en: v1.1.0 Convierte un valor de entrada en un valor de tipo Time, pero devuelve NULL en caso de error. Al igual que toTime, pero devuelve NULL en lugar de generar una excepción si se producen errores de conversión. Véase también: Sintaxis
toTimeOrNull(x)
Argumentos
  • x — Una representación textual de una hora. String
Valor devuelto Devuelve un valor Time si la operación se realiza correctamente; de lo contrario, NULL. Time o NULL Ejemplos Ejemplo de uso
Query
SELECT toTimeOrNull('12:30:45'), toTimeOrNull('invalid')
Response
┌─toTimeOrNull('12:30:45')─┬─toTimeOrNull('invalid')─┐
│                 12:30:45 │                    ᴺᵁᴸᴸ │
└──────────────────────────┴─────────────────────────┘

toTimeOrZero

Introducido en: v1.1.0 Convierte un valor de entrada en un valor de tipo Time, pero devuelve 00:00:00 en caso de error. Al igual que toTime, devuelve 00:00:00 en lugar de lanzar una excepción si se producen errores de conversión. Sintaxis
toTimeOrZero(x)
Argumentos
  • x — Una representación textual de una hora. String
Valor devuelto Devuelve un valor Time si la operación se realiza correctamente; de lo contrario, 00:00:00. Time Ejemplos Ejemplo de uso
Query
SELECT toTimeOrZero('12:30:45'), toTimeOrZero('invalid')
Response
┌─toTimeOrZero('12:30:45')─┬─toTimeOrZero('invalid')─┐
│                 12:30:45 │                00:00:00 │
└──────────────────────────┴─────────────────────────┘

toUInt128

Introducido en: v1.1.0 Convierte un valor de entrada en un valor de tipo UInt128. Lanza una excepción en caso de error. La función usa redondeo hacia cero, lo que significa que trunca los dígitos fraccionarios de los números. Argumentos admitidos:
  • Valores o representaciones en cadena del tipo (U)Int*.
  • Valores del tipo Float*.
Argumentos no admitidos:
  • Representaciones en cadena de valores Float*, incluidos NaN e Inf.
  • Representaciones en cadena de valores binarios y hexadecimales; por ejemplo, SELECT toUInt128('0xc0fe');.
Si el valor de entrada no puede representarse dentro de los límites de UInt128, se produce un desbordamiento o subdesbordamiento. Esto no se considera un error.
Véase también: Sintaxis
toUInt128(expr)
Argumentos
  • expr — Expresión que devuelve un número o su representación en cadena. Expression
Valor devuelto Devuelve un entero sin signo de 128 bits. UInt128 Ejemplos Ejemplo de uso
Query
SELECT
    toUInt128(128),
    toUInt128(128.8),
    toUInt128('128')
FORMAT Vertical
Response
Fila 1:
──────
toUInt128(128):   128
toUInt128(128.8): 128
toUInt128('128'): 128

toUInt128OrDefault

Introducido en: v21.11.0 Al igual que toUInt128, esta función convierte un valor de entrada en un valor de tipo UInt128, pero devuelve el valor predeterminado en caso de error. Si no se proporciona ningún valor default, se devuelve 0 en caso de error. Sintaxis
toUInt128OrDefault(expr[, default])
Argumentos
  • expr — Expresión que devuelve un número o una representación en cadena de un número. String o (U)Int* o Float*
  • default — Opcional. El valor predeterminado que se devuelve si el análisis no se realiza correctamente. UInt128
Valor devuelto Devuelve un valor de tipo UInt128 si la conversión se realiza correctamente; de lo contrario, devuelve el valor predeterminado, si se proporcionó, o 0 si no. UInt128 Ejemplos Conversión correcta
Query
SELECT toUInt128OrDefault('128', CAST('0', 'UInt128'))
Response
128
Conversión fallida
Query
SELECT toUInt128OrDefault('abc', CAST('0', 'UInt128'))
Response
0

toUInt128OrNull

Introducido en: v21.6.0 Al igual que toUInt128, esta función convierte un valor de entrada en un valor del tipo UInt128, pero devuelve NULL en caso de error. Argumentos admitidos:
  • Representaciones en cadena de (U)Int*.
Argumentos no admitidos (devuelven NULL):
  • Representaciones en cadena de valores Float*, incluidos NaN e Inf.
  • Representaciones en cadena de valores binarios y hexadecimales; por ejemplo, SELECT toUInt128OrNull('0xc0fe');.
Si el valor de entrada no puede representarse dentro de los límites de UInt128, se produce un desbordamiento o subdesbordamiento del resultado. Esto no se considera un error.
Véase también: Sintaxis
toUInt128OrNull(x)
Argumentos
  • x — Una representación en cadena de un número. String
Valor devuelto Devuelve un valor de tipo UInt128 o NULL si la conversión no se realiza correctamente. UInt128 o NULL Ejemplos Ejemplo de uso
Query
SELECT
    toUInt128OrNull('128'),
    toUInt128OrNull('abc')
FORMAT Vertical
Response
Row 1:
──────
toUInt128OrNull('128'): 128
toUInt128OrNull('abc'): \N

toUInt128OrZero

Introducido en: v1.1.0 Al igual que toUInt128, esta función convierte un valor de entrada en un valor de tipo UInt128, pero devuelve 0 en caso de error. Argumentos admitidos:
  • Representaciones en cadena de (U)Int*.
Argumentos no admitidos (devuelven 0):
  • Representaciones en cadena de valores Float*, incluidos NaN e Inf.
  • Representaciones en cadena de valores binarios y hexadecimales; por ejemplo, SELECT toUInt128OrZero('0xc0fe');.
Si el valor de entrada no puede representarse dentro de los límites de UInt128, se produce desbordamiento o subdesbordamiento en el resultado. Esto no se considera un error.
Véase también: Sintaxis
toUInt128OrZero(x)
Argumentos
  • x — La representación textual de un número. String
Valor devuelto Devuelve un valor de tipo UInt128; en caso contrario, 0 si la conversión falla. UInt128 Ejemplos Ejemplo de uso
Query
SELECT
    toUInt128OrZero('128'),
    toUInt128OrZero('abc')
FORMAT Vertical
Response
Row 1:
──────
toUInt128OrZero('128'): 128
toUInt128OrZero('abc'): 0

toUInt16

Introducido en: v1.1.0 Convierte un valor de entrada en un valor de tipo UInt16. Lanza una excepción en caso de error. Argumentos admitidos:
  • Valores o representaciones en cadena de tipo (U)Int*.
  • Valores de tipo Float*.
Argumentos no admitidos:
  • Representaciones en cadena de valores Float*, incluidos NaN e Inf.
  • Representaciones en cadena de valores binarios y hexadecimales; por ejemplo, SELECT toUInt16('0xc0fe');.
Si el valor de entrada no puede representarse dentro de los límites de UInt16, se produce un desbordamiento o subdesbordamiento en el resultado. Esto no se considera un error. Por ejemplo: SELECT toUInt16(65536) == 0;.
La función usa redondeo hacia cero, lo que significa que trunca los dígitos fraccionarios de los números.
Véase también: Sintaxis
toUInt16(expr)
Argumentos
  • expr — Expresión que devuelve un número o una representación textual de un número. Expression
Valor devuelto Devuelve un valor entero sin signo de 16 bits. UInt16 Ejemplos Ejemplo de uso
Query
SELECT
    toUInt16(16),
    toUInt16(16.16),
    toUInt16('16')
FORMAT Vertical
Response
Fila 1:
──────
toUInt16(16):    16
toUInt16(16.16): 16
toUInt16('16'):  16

toUInt16OrDefault

Introducido en: v21.11.0 Al igual que toUInt16, esta función convierte un valor de entrada en un valor de tipo UInt16, pero devuelve el valor por defecto en caso de error. Si no se proporciona ningún valor default, se devuelve 0 en caso de error. Sintaxis
toUInt16OrDefault(expr[, default])
Argumentos
  • expr — Expresión que devuelve un número o su representación en cadena. String o (U)Int* o Float*
  • default — Opcional. El valor predeterminado que se devuelve si el análisis no se realiza correctamente. UInt16
Valor devuelto Devuelve un valor de tipo UInt16 si la conversión se realiza correctamente; en caso contrario, devuelve el valor predeterminado, si se proporcionó, o 0 si no. UInt16 Ejemplos Conversión correcta
Query
SELECT toUInt16OrDefault('16', CAST('0', 'UInt16'))
Response
16
Conversión fallida
Query
SELECT toUInt16OrDefault('abc', CAST('0', 'UInt16'))
Response
0

toUInt16OrNull

Introducido en: v1.1.0 Al igual que toUInt16, esta función convierte un valor de entrada en un valor de tipo UInt16, pero devuelve NULL en caso de error. Argumentos admitidos:
  • Representaciones de cadena de (U)Int8/16/32/128/256.
Argumentos no admitidos (devuelven NULL):
  • Representaciones de cadena de valores Float*, incluidos NaN e Inf.
  • Representaciones de cadena de valores binarios y hexadecimales; por ejemplo, SELECT toUInt16OrNull('0xc0fe');.
Si el valor de entrada no puede representarse dentro de los límites de UInt16, se produce un desbordamiento o subdesbordamiento del resultado. Esto no se considera un error.
Véase también: Sintaxis
toUInt16OrNull(x)
Argumentos
  • x — Una representación en cadena de un número. String
Valor devuelto Devuelve un valor de tipo UInt16; en caso contrario, NULL si la conversión no se realiza correctamente. UInt16 o NULL Ejemplos Ejemplo de uso
Query
SELECT
    toUInt16OrNull('16'),
    toUInt16OrNull('abc')
FORMAT Vertical
Response
Row 1:
──────
toUInt16OrNull('16'):  16
toUInt16OrNull('abc'): \N

toUInt16OrZero

Introducido en: v1.1.0 Al igual que toUInt16, esta función convierte un valor de entrada en un valor de tipo UInt16, pero devuelve 0 en caso de error. Argumentos admitidos:
  • Representaciones en cadena de (U)Int8/16/32/128/256.
Argumentos no admitidos (devuelven 0):
  • Representaciones en cadena de valores Float*, incluidos NaN e Inf.
  • Representaciones en cadena de valores binarios y hexadecimales; por ejemplo, SELECT toUInt16OrZero('0xc0fe');.
Si el valor de entrada no puede representarse dentro de los límites de UInt16, se produce desbordamiento o subdesbordamiento en el resultado. Esto no se considera un error.
Véase también: Sintaxis
toUInt16OrZero(x)
Argumentos
  • x — La representación en cadena de un número. String
Valor devuelto Devuelve un valor de tipo UInt16; en caso contrario, 0 si la conversión no se realiza correctamente. UInt16 Ejemplos Ejemplo de uso
Query
SELECT
    toUInt16OrZero('16'),
    toUInt16OrZero('abc')
FORMAT Vertical
Response
Row 1:
──────
toUInt16OrZero('16'):  16
toUInt16OrZero('abc'): 0

toUInt256

Introducido en: v1.1.0 Convierte un valor de entrada a un valor de tipo UInt256. Lanza una excepción en caso de error. La función utiliza redondeo hacia cero, lo que significa que trunca los dígitos fraccionarios de los números. Argumentos admitidos:
  • Valores o representaciones en cadena de tipo (U)Int*.
  • Valores de tipo Float*.
Argumentos no admitidos:
  • Representaciones en cadena de valores de tipo Float*, incluidos NaN e Inf.
  • Representaciones en cadena de valores binarios y hexadecimales; por ejemplo, SELECT toUInt256('0xc0fe');.
Si el valor de entrada no puede representarse dentro de los límites de UInt256, el resultado produce desbordamiento o subdesbordamiento. Esto no se considera un error.
Véase también: Sintaxis
toUInt256(expr)
Argumentos
  • expr — Expresión que devuelve un número o la representación en cadena de un número. Expresión
Valor devuelto Devuelve un valor entero sin signo de 256 bits. UInt256 Ejemplos Ejemplo de uso
Query
SELECT
    toUInt256(256),
    toUInt256(256.256),
    toUInt256('256')
FORMAT Vertical
Response
Row 1:
──────
toUInt256(256):     256
toUInt256(256.256): 256
toUInt256('256'):   256

toUInt256OrDefault

Introducido en: v21.11.0 Al igual que toUInt256, esta función convierte un valor de entrada en un valor del tipo UInt256, pero devuelve el valor predeterminado en caso de error. Si no se pasa ningún valor default, se devuelve 0 en caso de error. Sintaxis
toUInt256OrDefault(expr[, default])
Argumentos
  • expr — Expresión que devuelve un número o la representación en cadena de un número. String o (U)Int* o Float*
  • default — Opcional. El valor predeterminado que se devuelve si el análisis no se realiza correctamente. UInt256
Valor devuelto Devuelve un valor de tipo UInt256 si la conversión se realiza correctamente; de lo contrario, devuelve el valor predeterminado si se proporciona, o 0 en caso contrario. UInt256 Ejemplos Conversión correcta
Query
SELECT toUInt256OrDefault('-256', CAST('0', 'UInt256'))
Response
0
Error de conversión
Query
SELECT toUInt256OrDefault('abc', CAST('0', 'UInt256'))
Response
0

toUInt256OrNull

Introducido en: v20.8.0 Al igual que toUInt256, esta función convierte un valor de entrada en un valor de tipo UInt256, pero devuelve NULL en caso de error. Argumentos admitidos:
  • Representaciones de cadena de (U)Int*.
Argumentos no admitidos (devuelven NULL):
  • Representaciones de cadena de valores Float*, incluidos NaN e Inf.
  • Representaciones de cadena de valores binarios y hexadecimales; por ejemplo, SELECT toUInt256OrNull('0xc0fe');.
Si el valor de entrada no puede representarse dentro de los límites de UInt256, se produce un desbordamiento o un subdesbordamiento del resultado. Esto no se considera un error.
Véase también: Sintaxis
toUInt256OrNull(x)
Argumentos
  • x — La representación en cadena de un número. String
Valor devuelto Devuelve un valor de tipo UInt256 o NULL si la conversión no se realiza correctamente. UInt256 o NULL Ejemplos Ejemplo de uso
Query
SELECT
    toUInt256OrNull('256'),
    toUInt256OrNull('abc')
FORMAT Vertical
Response
Row 1:
──────
toUInt256OrNull('256'): 256
toUInt256OrNull('abc'): \N

toUInt256OrZero

Introducido en: v20.8.0 Al igual que toUInt256, esta función convierte un valor de entrada en un valor del tipo UInt256, pero devuelve 0 en caso de error. Argumentos admitidos:
  • Representaciones en cadena de (U)Int*.
Argumentos no admitidos (devuelven 0):
  • Representaciones en cadena de valores Float*, incluidos NaN e Inf.
  • Representaciones en cadena de valores binarios y hexadecimales, por ejemplo, SELECT toUInt256OrZero('0xc0fe');.
Si el valor de entrada no puede representarse dentro de los límites de UInt256, se produce un desbordamiento o subdesbordamiento del resultado. Esto no se considera un error.
Véase también: Sintaxis
toUInt256OrZero(x)
Argumentos
  • x — La representación en cadena de un número. String
Valor devuelto Devuelve un valor de tipo UInt256; de lo contrario, 0 si la conversión no se realiza correctamente. UInt256 Ejemplos Ejemplo de uso
Query
SELECT
    toUInt256OrZero('256'),
    toUInt256OrZero('abc')
FORMAT Vertical
Response
Row 1:
──────
toUInt256OrZero('256'): 256
toUInt256OrZero('abc'): 0

toUInt32

Introducido en: v1.1.0 Convierte un valor de entrada en un valor de tipo UInt32. Lanza una excepción en caso de error. Argumentos admitidos:
  • Valores o representaciones en cadena del tipo (U)Int*.
  • Valores del tipo Float*.
Argumentos no admitidos:
  • Representaciones en cadena de valores Float*, incluidos NaN e Inf.
  • Representaciones en cadena de valores binarios y hexadecimales; por ejemplo, SELECT toUInt32('0xc0fe');.
Si el valor de entrada no puede representarse dentro de los límites de UInt32, el resultado produce desbordamiento o subdesbordamiento. Esto no se considera un error. Por ejemplo: SELECT toUInt32(4294967296) == 0;
La función usa redondeo hacia cero, lo que significa que trunca los dígitos fraccionarios de los números.
Véase también: Sintaxis
toUInt32(expr)
Argumentos
  • expr — Expresión que devuelve un número o la representación en cadena de un número. Expresión
Valor devuelto Devuelve un valor entero sin signo de 32 bits. UInt32 Ejemplos Ejemplo de uso
Query
SELECT
    toUInt32(32),
    toUInt32(32.32),
    toUInt32('32')
FORMAT Vertical
Response
Fila 1:
──────
toUInt32(32):    32
toUInt32(32.32): 32
toUInt32('32'):  32

toUInt32OrDefault

Introducido en: v21.11.0 Al igual que toUInt32, esta función convierte un valor de entrada en un valor del tipo UInt32, pero devuelve el valor predeterminado en caso de error. Si no se pasa ningún valor default, se devuelve 0 en caso de error. Sintaxis
toUInt32OrDefault(expr[, default])
Argumentos
  • expr — Expresión que devuelve un número o una representación en cadena de caracteres de un número. String o (U)Int* o Float*
  • default — Opcional. El valor predeterminado que se devuelve si el análisis falla. UInt32
Valor devuelto Devuelve un valor de tipo UInt32 si la conversión se realiza con éxito; de lo contrario, devuelve el valor predeterminado si se proporciona, o 0 en caso contrario. UInt32 Ejemplos Conversión exitosa
Query
SELECT toUInt32OrDefault('32', CAST('0', 'UInt32'))
Response
32
Conversión fallida
Query
SELECT toUInt32OrDefault('abc', CAST('0', 'UInt32'))
Response
0

toUInt32OrNull

Introducido en: v1.1.0 Al igual que toUInt32, esta función convierte un valor de entrada en un valor de tipo UInt32, pero devuelve NULL en caso de error. Argumentos admitidos:
  • Representaciones en cadena de (U)Int8/16/32/128/256.
Argumentos no admitidos (devuelven NULL):
  • Representaciones en cadena de valores Float*, incluidos NaN e Inf.
  • Representaciones en cadena de valores binarios y hexadecimales; por ejemplo, SELECT toUInt32OrNull('0xc0fe');.
Si el valor de entrada no puede representarse dentro de los límites de UInt32, se produce un desbordamiento o subdesbordamiento en el resultado. Esto no se considera un error.
Véase también: Sintaxis
toUInt32OrNull(x)
Argumentos
  • x — La representación en cadena de un número. String
Valor devuelto Devuelve un valor de tipo UInt32 o NULL si la conversión no se realiza correctamente. UInt32 o NULL Ejemplos Ejemplo de uso
Query
SELECT
    toUInt32OrNull('32'),
    toUInt32OrNull('abc')
FORMAT Vertical
Response
Row 1:
──────
toUInt32OrNull('32'):  32
toUInt32OrNull('abc'): \N

toUInt32OrZero

Introducido en: v1.1.0 Al igual que toUInt32, esta función convierte un valor de entrada en un valor del tipo UInt32, pero devuelve 0 en caso de error. Argumentos admitidos:
  • Representaciones en cadena de (U)Int8/16/32/128/256.
Argumentos no admitidos (devuelven 0):
  • Representaciones en cadena de valores Float*, incluidos NaN e Inf.
  • Representaciones en cadena de valores binarios y hexadecimales; por ejemplo, SELECT toUInt32OrZero('0xc0fe');.
Si el valor de entrada no puede representarse dentro de los límites de UInt32, el resultado puede producir desbordamiento o subdesbordamiento. Esto no se considera un error.
Véase también: Sintaxis
toUInt32OrZero(x)
Argumentos
  • x — Una representación en cadena de un número. String
Valor devuelto Devuelve un valor de tipo UInt32 o 0 si la conversión no se realiza correctamente. UInt32 Ejemplos Ejemplo de uso
Query
SELECT
    toUInt32OrZero('32'),
    toUInt32OrZero('abc')
FORMAT Vertical
Response
Row 1:
──────
toUInt32OrZero('32'):  32
toUInt32OrZero('abc'): 0

toUInt64

Introducido en: v1.1.0 Convierte un valor de entrada en un valor de tipo UInt64. Lanza una excepción en caso de error. Argumentos admitidos:
  • Valores o representaciones en cadena del tipo (U)Int*.
  • Valores del tipo Float*.
Tipos no admitidos:
  • Representaciones en cadena de valores Float*, incluidos NaN e Inf.
  • Representaciones en cadena de valores binarios y hexadecimales; por ejemplo, SELECT toUInt64('0xc0fe');.
Si el valor de entrada no puede representarse dentro de los límites de UInt64, el resultado produce un desbordamiento o subdesbordamiento. Esto no se considera un error. Por ejemplo: SELECT toUInt64(18446744073709551616) == 0;
La función usa redondeo hacia cero, lo que significa que trunca los dígitos fraccionarios de los números.
Véase también: Sintaxis
toUInt64(expr)
Argumentos
  • expr — Expresión que devuelve un número o la representación textual de un número. Expresión
Valor devuelto Devuelve un valor entero sin signo de 64 bits. UInt64 Ejemplos Ejemplo de uso
Query
SELECT
    toUInt64(64),
    toUInt64(64.64),
    toUInt64('64')
FORMAT Vertical
Response
Fila 1:
──────
toUInt64(64):    64
toUInt64(64.64): 64
toUInt64('64'):  64

toUInt64OrDefault

Introducido en: v21.11.0 Al igual que toUInt64, esta función convierte un valor de entrada en un valor del tipo UInt64, pero devuelve el valor predeterminado en caso de error. Si no se pasa ningún valor default, se devuelve 0 en caso de error. Sintaxis
toUInt64OrDefault(expr[, default])
Argumentos
  • expr — Expresión que devuelve un número o una representación en cadena de un número. String o (U)Int* o Float*
  • default — Opcional. El valor predeterminado que se devolverá si el análisis sintáctico no se completa correctamente. UInt64
Valor devuelto Devuelve un valor de tipo UInt64 si la conversión se realiza correctamente; en caso contrario, devuelve el valor predeterminado si se proporciona, o 0 si no. UInt64 Ejemplos Conversión correcta
Query
SELECT toUInt64OrDefault('64', CAST('0', 'UInt64'))
Response
64
Error de conversión
Query
SELECT toUInt64OrDefault('abc', CAST('0', 'UInt64'))
Response
0

toUInt64OrNull

Introducido en: v1.1.0 Al igual que toUInt64, esta función convierte un valor de entrada en un valor de tipo UInt64, pero devuelve NULL en caso de error. Argumentos admitidos:
  • Representaciones en cadena de (U)Int*.
Argumentos no admitidos (devuelven NULL):
  • Representaciones en cadena de valores Float*, incluidos NaN e Inf.
  • Representaciones en cadena de valores binarios y hexadecimales; por ejemplo, SELECT toUInt64OrNull('0xc0fe');.
Si el valor de entrada no puede representarse dentro de los límites de UInt64, se produce un desbordamiento o subdesbordamiento del resultado. Esto no se considera un error.
Véase también: Sintaxis
toUInt64OrNull(x)
Argumentos
  • x — Una representación textual de un número. String
Valor devuelto Devuelve un valor de tipo UInt64 o NULL si la conversión no se realiza correctamente. UInt64 o NULL Ejemplos Ejemplo de uso
Query
SELECT
    toUInt64OrNull('64'),
    toUInt64OrNull('abc')
FORMAT Vertical
Response
Row 1:
──────
toUInt64OrNull('64'):  64
toUInt64OrNull('abc'): \N

toUInt64OrZero

Introducido en: v1.1.0 Al igual que toUInt64, esta función convierte un valor de entrada en un valor de tipo UInt64, pero devuelve 0 en caso de error. Argumentos admitidos:
  • Representaciones de cadena de (U)Int*.
Argumentos no admitidos (devuelven 0):
  • Representaciones de cadena de valores Float*, incluidos NaN e Inf.
  • Representaciones de cadena de valores binarios y hexadecimales; por ejemplo, SELECT toUInt64OrZero('0xc0fe');.
Si el valor de entrada no puede representarse dentro de los límites de UInt64, se produce un desbordamiento o subdesbordamiento del resultado. Esto no se considera un error.
Véase también: Sintaxis
toUInt64OrZero(x)
Argumentos
  • x — La representación en String de un número. String
Valor devuelto Devuelve un valor de tipo UInt64 o, si la conversión falla, 0. UInt64 Ejemplos Ejemplo de uso
Query
SELECT
    toUInt64OrZero('64'),
    toUInt64OrZero('abc')
FORMAT Vertical
Response
Row 1:
──────
toUInt64OrZero('64'):  64
toUInt64OrZero('abc'): 0

toUInt8

Introducido en: v1.1.0 Convierte un valor de entrada a un valor de tipo UInt8. Lanza una excepción en caso de error. Argumentos admitidos:
  • Valores o representaciones de cadena del tipo (U)Int*.
  • Valores del tipo Float*.
Argumentos no admitidos:
  • Representaciones de cadena de valores Float*, incluidos NaN e Inf.
  • Representaciones de cadena de valores binarios y hexadecimales; por ejemplo, SELECT toUInt8('0xc0fe');.
Si el valor de entrada no puede representarse dentro de los límites de UInt8, se produce un desbordamiento o subdesbordamiento en el resultado. Esto no se considera un error. Por ejemplo: SELECT toUInt8(256) == 0;.
La función usa redondeo hacia cero, lo que significa que trunca los dígitos fraccionarios de los números.
Véase también: Sintaxis
toUInt8(expr)
Argumentos
  • expr — Expresión que devuelve un número o su representación textual. Expresión
Valor devuelto Devuelve un valor entero sin signo de 8 bits. UInt8 Ejemplos Ejemplo de uso
Query
SELECT
    toUInt8(8),
    toUInt8(8.8),
    toUInt8('8')
FORMAT Vertical
Response
Row 1:
──────
toUInt8(8):   8
toUInt8(8.8): 8
toUInt8('8'): 8

toUInt8OrDefault

Introducido en: v21.11.0 Al igual que toUInt8, esta función convierte un valor de entrada en un valor del tipo UInt8, pero devuelve el valor predeterminado en caso de que se produzca un error. Si no se proporciona ningún valor default, se devuelve 0 en caso de error. Sintaxis
toUInt8OrDefault(expr[, default])
Argumentos
  • expr — Expresión que devuelve un número o la representación en cadena de un número. String o (U)Int* o Float*
  • default — Opcional. El valor predeterminado que se devuelve si el análisis no se realiza correctamente. UInt8
Valor devuelto Devuelve un valor de tipo UInt8 si la conversión se realiza correctamente; de lo contrario, devuelve el valor predeterminado si se proporciona, o 0 si no. UInt8 Ejemplos Conversión exitosa
Query
SELECT toUInt8OrDefault('8', CAST('0', 'UInt8'))
Response
8
Error de conversión
Query
SELECT toUInt8OrDefault('abc', CAST('0', 'UInt8'))
Response
0

toUInt8OrNull

Introducido en: v1.1.0 Al igual que toUInt8, esta función convierte un valor de entrada a un valor del tipo UInt8, pero devuelve NULL en caso de error. Argumentos admitidos:
  • Representaciones de cadena de (U)Int8/16/32/128/256.
Argumentos no admitidos (devuelven NULL):
  • Representaciones de cadena de valores Float* normales, incluidos NaN e Inf.
  • Representaciones de cadena de valores binarios y hexadecimales; por ejemplo, SELECT toUInt8OrNull('0xc0fe');.
Si el valor de entrada no puede representarse dentro de los límites de UInt8, se produce desbordamiento o subdesbordamiento en el resultado. Esto no se considera un error.
Véase también: Sintaxis
toUInt8OrNull(x)
Argumentos
  • x — Una representación en cadena de un número. String
Valor devuelto Devuelve un valor de tipo UInt8, o NULL si la conversión no se realiza correctamente. UInt8 o NULL Ejemplos Ejemplo de uso
Query
SELECT
    toUInt8OrNull('42'),
    toUInt8OrNull('abc')
FORMAT Vertical
Response
Row 1:
──────
toUInt8OrNull('42'):  42
toUInt8OrNull('abc'): \N

toUInt8OrZero

Introducido en: v1.1.0 Al igual que toUInt8, esta función convierte un valor de entrada en un valor de tipo UInt8, pero devuelve 0 en caso de error. Argumentos admitidos:
  • Representaciones en cadena de (U)Int8/16/32/128/256.
Argumentos no admitidos (devuelve 0):
  • Representaciones en cadena de valores Float* normales, incluidos NaN e Inf.
  • Representaciones en cadena de valores binarios y hexadecimales; por ejemplo, SELECT toUInt8OrZero('0xc0fe');.
Si el valor de entrada no puede representarse dentro de los límites de UInt8, se produce desbordamiento o subdesbordamiento en el resultado. Esto no se considera un error.
Véase también: Sintaxis
toUInt8OrZero(x)
Argumentos
  • x — La representación en cadena de un número. String
Valor devuelto Devuelve un valor de tipo UInt8; en caso contrario, 0 si la conversión no se realiza correctamente. UInt8 Ejemplos Ejemplo de uso
Query
SELECT
    toUInt8OrZero('-8'),
    toUInt8OrZero('abc')
FORMAT Vertical
Response
Row 1:
──────
toUInt8OrZero('-8'):  0
toUInt8OrZero('abc'): 0

toUUID

Introducido en: v1.1.0 Convierte un valor de tipo String en un valor UUID. Sintaxis
toUUID(string)
Argumentos Valor devuelto Devuelve un UUID a partir de la representación en cadena del UUID. UUID Ejemplos Ejemplo de uso
Query
SELECT toUUID('61f0c404-5cb3-11e7-907b-a6006ad3dba0') AS uuid
Response
┌─────────────────────────────────uuid─┐
│ 61f0c404-5cb3-11e7-907b-a6006ad3dba0 │
└──────────────────────────────────────┘

toUUIDOrZero

Introducido en: v20.12.0 Convierte un valor de entrada en un valor de tipo UUID, pero devuelve un UUID con ceros en caso de error. Al igual que toUUID, pero devuelve un UUID con ceros (00000000-0000-0000-0000-000000000000) en lugar de generar una excepción cuando se producen errores de conversión. Argumentos admitidos:
  • Representaciones de UUID en cadena en formato estándar (8-4-4-4-12 dígitos hexadecimales).
  • Representaciones de UUID en cadena sin guiones (32 dígitos hexadecimales).
Argumentos no admitidos (devuelven un UUID con ceros):
  • Formatos de cadena no válidos.
  • Tipos que no son cadenas.
Sintaxis
toUUIDOrZero(x)
Argumentos
  • x — Una representación textual de un UUID. String
Valor devuelto Devuelve un valor UUID si la operación se realiza correctamente; en caso contrario, un UUID con valor cero (00000000-0000-0000-0000-000000000000). UUID Ejemplos Ejemplo de uso
Query
SELECT
    toUUIDOrZero('550e8400-e29b-41d4-a716-446655440000') AS valid_uuid,
    toUUIDOrZero('invalid-uuid') AS invalid_uuid
Response
┌─valid_uuid───────────────────────────┬─invalid_uuid─────────────────────────┐
│ 550e8400-e29b-41d4-a716-446655440000 │ 00000000-0000-0000-0000-000000000000 │
└──────────────────────────────────────┴──────────────────────────────────────┘

toUnixTimestamp64Micro

Introducido en: v20.5.0 Convierte un DateTime64 en un valor Int64 con precisión fija de microsegundos. El valor de entrada se ajusta al alza o a la baja según corresponda, en función de su precisión.
El valor de salida es relativo a UTC, no a la zona horaria del valor de entrada.
Sintaxis
toUnixTimestamp64Micro(value)
Argumentos
  • value — Valor de DateTime64 con cualquier precisión. DateTime64
Valor devuelto Devuelve una marca de tiempo Unix en microsegundos. Int64 Ejemplos Ejemplo de uso
Query
WITH toDateTime64('2025-02-13 23:31:31.011123', 6, 'UTC') AS dt64
SELECT toUnixTimestamp64Micro(dt64);
Response
┌─toUnixTimestamp64Micro(dt64)─┐
│               1739489491011123 │
└────────────────────────────────┘

toUnixTimestamp64Milli

Introducido en: v20.5.0 Convierte un DateTime64 en un valor Int64 con precisión fija de milisegundos. El valor de entrada se escala hacia arriba o hacia abajo según corresponda, en función de su precisión.
El valor de salida está referido a UTC, no a la zona horaria del valor de entrada.
Sintaxis
toUnixTimestamp64Milli(value)
Argumentos
  • value — Valor de DateTime64 con cualquier precisión. DateTime64
Valor devuelto Devuelve una marca de tiempo Unix en milisegundos. Int64 Ejemplos Ejemplo de uso
Query
WITH toDateTime64('2025-02-13 23:31:31.011', 3, 'UTC') AS dt64
SELECT toUnixTimestamp64Milli(dt64);
Response
┌─toUnixTimestamp64Milli(dt64)─┐
│                1739489491011 │
└──────────────────────────────┘

toUnixTimestamp64Nano

Introducido en: v20.5.0 Convierte un DateTime64 en un valor Int64 con precisión fija de nanosegundos. El valor de entrada se escala hacia arriba o hacia abajo según corresponda, en función de su precisión.
El valor de salida es relativo a UTC, no a la zona horaria del valor de entrada.
Sintaxis
toUnixTimestamp64Nano(value)
Argumentos
  • value — Valor de DateTime64 con cualquier precisión. DateTime64
Valor devuelto Devuelve una marca de tiempo Unix en nanosegundos. Int64 Ejemplos Ejemplo de uso
Query
WITH toDateTime64('2025-02-13 23:31:31.011123456', 9, 'UTC') AS dt64
SELECT toUnixTimestamp64Nano(dt64);
Response
┌─toUnixTimestamp64Nano(dt64)────┐
│            1739489491011123456 │
└────────────────────────────────┘

toUnixTimestamp64Second

Introducido en: v24.12.0 Convierte un DateTime64 en un valor Int64 con precisión fija de segundos. El valor de entrada se ajusta hacia arriba o hacia abajo según corresponda, en función de su precisión.
El valor de salida es relativo a UTC, no a la zona horaria del valor de entrada.
Sintaxis
toUnixTimestamp64Second(value)
Argumentos
  • value — Valor de DateTime64 con cualquier precisión. DateTime64
Valor devuelto Devuelve una marca de tiempo Unix en segundos. Int64 Ejemplos Ejemplo de uso
Query
WITH toDateTime64('2025-02-13 23:31:31.011', 3, 'UTC') AS dt64
SELECT toUnixTimestamp64Second(dt64);
Response
┌─toUnixTimestamp64Second(dt64)─┐
│                    1739489491 │
└───────────────────────────────┘
Última modificación el 10 de junio de 2026