Problemas habituales con la conversión de datos
ClickHouse generalmente utiliza el mismo comportamiento que los programas en C++. Las funcionesto<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.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
toStringdel argumentoDateTimepuede 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:
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
Response
toUnixTimestamp.
CAST
Introducido en: v1.1.0 Convierte un valor a un tipo de dato especificado. 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. SintaxisAny
Ejemplos
Uso básico
Query
Response
Query
Response
Query
Response
DATE
Introducido en: v21.2.0 Convierte el argumento al tipo de dato Date. Es un alias de compatibilidad con MySQL paratoDate. Se comporta igual que toDate.
Sintaxis
Date
Ejemplos
Uso básico
Query
Response
accurateCast
Introducido en: v1.1.0 Convierte un valor al tipo de dato especificado. A diferencia deCAST, 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
Any
Ejemplos
Conversión correcta
Query
Response
Query
Response
accurateCastOrDefault
Introducido en: v21.1.0 Convierte un valor a un tipo de dato especificado. ComoaccurateCast, 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
x— Un valor que se convertirá.AnyT— El nombre del tipo de dato de destino.const Stringdefault_value— Opcional. Valor por defecto que se devuelve si la conversión falla.Any
Any
Ejemplos
Conversión correcta
Query
Response
Query
Response
Query
Response
accurateCastOrNull
Introducido en: v1.1.0 Convierte un valor a un tipo de dato especificado. ComoaccurateCast, 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
NULL si la conversión no es posible. Any
Ejemplos
Conversión correcta
Query
Response
Query
Response
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.
String
Ejemplos
Uso básico
Query
Response
Query
Response
formatRowNoNewline
Introducido en: v20.7.0 Igual queformatRow, 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
String
Ejemplos
Uso básico
Query
Response
fromUnixTimestamp64Micro
Introducido en: v20.5.0 Convierte una marca de tiempo Unix en microsegundos en un valorDateTime64 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
value— Marca de tiempo Unix en microsegundos.Int64timezone— Opcional. Zona horaria del valor devuelto.String
DateTime64 con precisión de microsegundos. DateTime64(6)
Ejemplos
Ejemplo de uso
Query
Response
fromUnixTimestamp64Milli
Introducido en: v20.5.0 Convierte una marca de tiempo Unix en milisegundos en un valorDateTime64 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
value— Marca de tiempo Unix en milisegundos.Int64timezone— Opcional. Zona horaria del valor devuelto.String
DateTime64 con precisión de milisegundos. DateTime64(3)
Ejemplos
Ejemplo de uso
Query
Response
fromUnixTimestamp64Nano
Introducido en: v20.5.0 Convierte una marca de tiempo Unix en nanosegundos en un valorDateTime64 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.
value— marca de tiempo Unix en nanosegundos.Int64timezone— Opcional. Zona horaria del valor devuelto.String
DateTime64 con precisión de nanosegundos. DateTime64(9)
Ejemplos
Ejemplo de uso
Query
Response
fromUnixTimestamp64Second
Introducido en: v24.12.0 Convierte una marca de tiempo Unix en segundos en un valorDateTime64 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
value— marca de tiempo Unix en segundos.Int64timezone— Opcional. Zona horaria del valor devuelto.String
DateTime64 con precisión de segundos. DateTime64(0)
Ejemplos
Ejemplo de uso
Query
Response
kqlParameterCast
Introducida en: v26.9.0 Comprueba un valor con un tipo declarado de Kusto Query Language y lo convierte al tipo equivalente de ClickHouse: un argumento cuyo tipo no corresponde al tipo KQL declarado se rechaza durante el análisis, y un valor que no cabe (por ejemplo, por desbordamiento deint) genera un error por fila.
El segundo argumento es el nombre del tipo KQL declarado y el tercero describe el parámetro para el
mensaje de error; ambos deben ser cadenas constantes.
Esta función respalda los parámetros de función con tipo cuando dialect = 'kusto'. No está pensada
para llamarse directamente desde SQL.
Sintaxis
value— El argumento proporcionado en una llamada a una función KQL. -type— El nombre de tipo KQL declarado, una cadena constante. -parameter— Una descripción del parámetro, una cadena constante utilizada en el mensaje de error.
value como portador de ClickHouse del tipo declarado.
Ejemplos
long
Query
Response
Query
Response
kqlToTimespan
Introducido en: v26.8.0 Convierte un valor en un intervalo de tiempo (unInterval en nanosegundos), como hace totimespan() de Kusto Query Language: un intervalo de tiempo se mantiene sin cambios, un número representa días y una cadena se interpreta como
[-][d.]hh:mm:ss[.fffffff]; se convierte en NULL si no se puede analizar.
Esta función implementa totimespan() cuando dialect = 'kusto'. No está pensada para invocarse
directamente desde SQL.
Sintaxis
x— Un timespan, un número de días o una cadena que especifica un timespan.
NULL si la cadena no especifica un timespan.
Ejemplos
cadena
Query
Response
Query
Response
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 deformatDateTime.
Convierte un argumento String usando una String de formato. Devuelve un valor de tipo DateTime.
Sintaxis
TO_UNIXTIME
Argumentos
time_string— Cadena que se analizará para convertirla en DateTime.Stringformat— Cadena de formato que especifica cómo analizar time_string.Stringtimezone— Opcional. Zona horaria.String
DateTime
Ejemplos
Ejemplo de uso
Query
Response
parseDateTime32BestEffort
Introducido en: v20.9.0 Convierte una representación textual de una fecha y hora al tipo de datoDateTime.
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
time_string—Stringque contiene una fecha y hora para convertir.Stringtime_zone— Opcional. Zona horaria usada para analizartime_stringString
time_string como un DateTime. DateTime
Ejemplos
Ejemplo de uso
Query
Response
Query
Response
Query
Response
parseDateTime32BestEffortOrNull
Introducido en: v20.9.0 Igual queparseDateTime32BestEffort, salvo que devuelve NULL cuando encuentra un formato de fecha que no se puede procesar.
Sintaxis
time_string— String que contiene una fecha y hora que se va a convertir.Stringtime_zone— Opcional. Zona horaria según la cual se analizatime_string.String
DateTime obtenido al analizar la cadena, o NULL si el análisis falla. DateTime
Ejemplos
Ejemplo de uso
Query
Response
parseDateTime32BestEffortOrZero
Introducido en: v20.9.0 Igual queparseDateTime32BestEffort, salvo que devuelve una fecha cero o una fecha y hora cero cuando encuentra un formato de fecha que no se puede procesar.
Sintaxis
time_string—Stringque contiene una fecha y hora para convertir.Stringtime_zone— Opcional. Zona horaria según la cual se analizatime_string.String
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
Response
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 deformatDateTime para DateTime64.
Analiza un argumento de tipo String usando un formato String. Devuelve un valor de tipo DateTime64 que puede representar fechas de 0000 a 9999 con precisión de subsegundos (las precisiones altas cubren un rango más estrecho porque el valor se almacena en un número Int64 de ticks: la precisión 8 llega aproximadamente hasta 4892 y la precisión 9 abarca de 1677 a 2262).
Sintaxis
time_string— Cadena que se interpretará como DateTime64.Stringformat— Cadena de formato que especifica cómo interpretar time_string.Stringtimezone— Opcional. Zona horaria.String
DateTime64
Ejemplos
Ejemplo de uso
Query
Response
parseDateTime64BestEffort
Introducido en: v20.1.0 Igual que la funciónparseDateTimeBestEffort, pero también analiza milisegundos y microsegundos, y devuelve el tipo de dato DateTime64.
Sintaxis
time_string— Cadena que contiene una fecha o una fecha con hora para convertir.Stringprecision— Opcional. Precisión requerida.3para milisegundos,6para microsegundos. Valor predeterminado:3.UInt8time_zone— Opcional. Zona horaria. La función interpretatime_stringsegún la zona horaria.String
time_string convertido al tipo de dato DateTime64. DateTime64
Ejemplos
Ejemplo de uso
Query
Response
parseDateTime64BestEffortOrNull
Introducido en: v20.1.0 Igual queparseDateTime64BestEffort, excepto que devuelve NULL cuando encuentra un formato de fecha que no puede procesarse.
Sintaxis
time_string— Cadena que contiene una fecha o una fecha con hora para convertir.Stringprecision— Opcional. Precisión requerida.3para milisegundos,6para microsegundos. Valor predeterminado:3.UInt8time_zone— Opcional. Zona horaria. La función interpretatime_stringsegún la zona horaria.String
time_string convertido a DateTime64, o NULL si no se puede analizar la entrada. DateTime64 o NULL
Ejemplos
Ejemplo de uso
Query
Response
parseDateTime64BestEffortOrZero
Introducido en: v20.1.0 Igual queparseDateTime64BestEffort, excepto que devuelve una fecha cero o una fecha y hora cero cuando encuentra un formato de fecha que no puede procesarse.
Sintaxis
time_string—Stringque contiene una fecha o una fecha con hora para convertir.Stringprecision— Opcional. Precisión requerida.3para milisegundos,6para microsegundos. Valor predeterminado:3.UInt8time_zone— Opcional. Zona horaria. La función interpretatime_stringsegún la zona horaria.String
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
Response
parseDateTime64BestEffortUS
Introducido en: v22.8.0 Igual queparseDateTime64BestEffort, salvo que esta función prioriza el formato de fecha de EE. UU. (MM/DD/YYYY, etc.) en caso de ambigüedad.
Sintaxis
time_string— Cadena que contiene una fecha o una fecha con hora para convertir.Stringprecision— Opcional. Precisión requerida.3para milisegundos,6para microsegundos. Valor predeterminado:3.UInt8time_zone— Opcional. Zona horaria. La función analizatime_stringsegún la zona horaria.String
time_string convertido a DateTime64, con preferencia por el formato de fecha de EE. UU. en casos ambiguos. DateTime64
Ejemplos
Ejemplo de uso
Query
Response
parseDateTime64BestEffortUSOrNull
Introducido en: v22.8.0 Igual queparseDateTime64BestEffort, 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
time_string— Cadena que contiene una fecha o una fecha con hora para convertir.Stringprecision— Opcional. Precisión requerida.3para milisegundos,6para microsegundos. Valor predeterminado:3.UInt8time_zone— Opcional. Zona horaria. La función analizatime_stringsegún la zona horaria.String
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
Response
parseDateTime64BestEffortUSOrZero
Introducido en: v22.8.0 Igual queparseDateTime64BestEffort, 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
time_string—Stringque contiene una fecha o una fecha con hora para convertir.Stringprecision— Opcional. Precisión requerida.3para milisegundos,6para microsegundos. Valor predeterminado:3.UInt8time_zone— Opcional. Zona horaria. La función analizatime_stringsegún la zona horaria.String
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
Response
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 deformatDateTimeInJodaSyntax para DateTime64.
Analiza un argumento String con una cadena de formato String de estilo Joda. Devuelve un tipo DateTime64 que puede representar fechas de 0000 a 9999 con precisión inferior al segundo (las precisiones altas cubren un intervalo más estrecho porque el valor se almacena en un número Int64 de ticks: la precisión 8 alcanza aproximadamente 4892 y la precisión 9 abarca de 1677 a 2262).
Consulta la documentación de Joda Time para conocer los patrones de formato.
Sintaxis
time_string— Cadena que se analizará como DateTime64.Stringformat— Cadena de formato en sintaxis Joda que especifica cómo analizar time_string.Stringtimezone— Opcional. Zona horaria.String
DateTime64
Ejemplos
Ejemplo de uso
Query
Response
parseDateTime64InJodaSyntaxOrNull
Introducido en: v24.10.0 Igual queparseDateTime64InJodaSyntax, pero devuelve NULL cuando encuentra un formato de fecha que no se puede analizar.
Sintaxis
time_string— Cadena que se analizará como DateTime64.Stringformat— Cadena de formato en sintaxis Joda que especifica cómo analizar time_string.Stringtimezone— Opcional. Zona horaria.String
Nullable(DateTime64)
Ejemplos
Ejemplo de uso
Query
Response
parseDateTime64InJodaSyntaxOrZero
Introducido en: v24.10.0 Igual queparseDateTime64InJodaSyntax, pero devuelve una fecha cero cuando encuentra un formato de fecha que no se puede analizar.
Sintaxis
time_string— String que se analizará como DateTime64.Stringformat— Cadena de formato en sintaxis Joda que especifica cómo analizar time_string.Stringtimezone— Opcional. Zona horaria.String
DateTime64
Ejemplos
Ejemplo de uso
Query
Response
parseDateTime64OrNull
Introducido en: v24.11.0 Igual queparseDateTime64, pero devuelve NULL cuando encuentra un formato de fecha que no se puede analizar.
Sintaxis
time_string— Cadena que se analizará como DateTime64.Stringformat— Cadena de formato que especifica cómo analizar time_string.Stringtimezone— Opcional. Zona horaria.String
Nullable(DateTime64)
Ejemplos
Ejemplo de uso
Query
Response
parseDateTime64OrZero
Introducido en: v24.11.0 Igual queparseDateTime64, pero devuelve una fecha cero cuando encuentra un formato de fecha que no se puede analizar.
Sintaxis
time_string— Cadena que se analizará como DateTime64.Stringformat— Cadena de formato que especifica cómo analizar time_string.Stringtimezone— Opcional. Zona horaria.String
DateTime64
Ejemplos
Ejemplo de uso
Query
Response
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 timestampde 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-YYetc. - Una cadena con un día y una hora:
DD,DD hh,DD hh:mm. En este caso,MMse sustituye por01. - 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.
time_string— Cadena que contiene una fecha y una hora para convertir.Stringtime_zone— Opcional. Zona horaria según la cual se analizatime_string.String
time_string como DateTime. DateTime
Ejemplos
Ejemplo de uso
Query
Response
Query
Response
Query
Response
parseDateTimeBestEffortOrNull
Introducido en: v1.1.0 Igual queparseDateTimeBestEffort, 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,MMse sustituye por01. - 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.
time_string—Stringque contiene una fecha y hora para convertir.Stringtime_zone— Opcional. Zona horaria según la que se interpretatime_string.String
time_string como DateTime, o NULL si la entrada no se puede interpretar. DateTime o NULL
Ejemplos
Ejemplo de uso
Query
Response
parseDateTimeBestEffortOrZero
Introducido en: v1.1.0 Igual queparseDateTimeBestEffort, 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 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-YYetc. - Una cadena con un día y una hora:
DD,DD hh,DD hh:mm. En este caso,MMse sustituye por01. - 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.
time_string—Stringque contiene una fecha y hora para convertir.Stringtime_zone— Opcional. Zona horaria según la cual se interpretatime_string.String
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
Response
parseDateTimeBestEffortUS
Introducido en: v1.1.0 Esta función se comporta comoparseDateTimeBestEffort 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
time_string—Stringque contiene una fecha y hora que se convertirán.Stringtime_zone— Opcional. Zona horaria según la cual se interpretatime_string.String
time_string como DateTime y, en casos ambiguos, prioriza el formato de fecha de EE. UU. DateTime
Ejemplos
Ejemplo de uso
Query
Response
parseDateTimeBestEffortUSOrNull
Introducido en: v1.1.0 Igual que la funciónparseDateTimeBestEffortUS, 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
time_string—Stringque contiene una fecha y hora para convertir.Stringtime_zone— Opcional. Zona horaria según la cual se interpretatime_string.String
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
Response
parseDateTimeBestEffortUSOrZero
Introducido en: v1.1.0 Igual que la funciónparseDateTimeBestEffortUS, 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
time_string—Stringque contiene una fecha y hora que se va a convertir.Stringtime_zone— Opcional. Zona horaria según la cual se interpretatime_string.String
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
Response
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 deformatDateTimeInJodaSyntax.
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
time_string— Cadena para analizar como DateTime.Stringformat— Cadena de formato en sintaxis Joda que especifica cómo interpretar time_string.Stringtimezone— Opcional. Zona horaria.String
DateTime
Ejemplos
Ejemplo de uso
Query
Response
parseDateTimeInJodaSyntaxOrNull
Introducido en: v23.3.0 Igual queparseDateTimeInJodaSyntax, pero devuelve NULL cuando encuentra un formato de fecha que no se puede analizar.
Sintaxis
time_string— Cadena para analizar como DateTime.Stringformat— Cadena de formato en sintaxis Joda que especifica cómo interpretar time_string.Stringtimezone— Opcional. Zona horaria.String
Nullable(DateTime)
Ejemplos
Ejemplo de uso
Query
Response
parseDateTimeInJodaSyntaxOrZero
Introducido en: v23.3.0 Igual queparseDateTimeInJodaSyntax, pero devuelve la fecha cero cuando encuentra un formato de fecha que no se puede analizar.
Sintaxis
time_string— Cadena que se analizará para convertirla en DateTime.Stringformat— Cadena de formato en sintaxis Joda que especifica cómo analizar time_string.Stringtimezone— Opcional. Zona horaria.String
DateTime
Ejemplos
Ejemplo de uso
Query
Response
parseDateTimeOrNull
Introducido en: v23.3.0 Igual queparseDateTime, pero devuelve NULL cuando encuentra un formato de fecha que no se puede analizar.
Sintaxis
str_to_date
Argumentos
time_string— Cadena para analizar como DateTime.Stringformat— Cadena de formato que especifica cómo analizartime_string.Stringtimezone— Opcional. Zona horaria.String
Nullable(DateTime)
Ejemplos
Ejemplo de uso
Query
Response
parseDateTimeOrZero
Introducido en: v23.3.0 Igual queparseDateTime, pero devuelve una fecha cero cuando encuentra un formato de fecha que no se puede analizar.
Sintaxis
time_string— Cadena que se debe analizar como DateTime.Stringformat— Cadena de formato que especifica cómo analizar time_string.Stringtimezone— Opcional. Zona horaria.String
DateTime
Ejemplos
Ejemplo de uso
Query
Response
reinterpret
Introducido en: v1.1.0 Usa la misma secuencia de bytes en memoria de origen para el valor proporcionadox y la reinterpreta como el tipo de destino.
Cuando el tipo de destino es String, un Array de origen solo es compatible si su tipo de elemento es de tamaño fijo y contiguo en memoria (por ejemplo, Array(UInt8) o Array(FixedString(2))); los bytes de sus elementos se copian literalmente en su orden nativo en memoria, por lo que el resultado puede volver a reinterpretarse como el tipo Array original en cualquier arquitectura. Los arrays cuyos elementos son de longitud variable (por ejemplo, Array(String)) o Nullable (por ejemplo, Array(Nullable(Int32))) no son compatibles.
Sintaxis
x— Valor que se va a reinterpretar. Al reinterpretarlo comoString, unArrayde origen debe tener elementos contiguos de tamaño fijo.Anytype— Tipo de destino. Si es un array, el tipo de elemento del array debe ser de longitud fija.String
Any
Ejemplos
Ejemplo de uso
Query
Response
Query
Response
Query
Response
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 Sintaxisx— Número de días desde el inicio de la época Unix.(U)Int*oFloat*oDateoDateTimeoUUIDoStringoFixedString
Date
Ejemplos
Ejemplo de uso
Query
Response
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 Sintaxisx— Número de segundos desde el inicio de la época Unix.(U)Int*oFloat*oDateoDateTimeoUUIDoStringoFixedString
DateTime
Ejemplos
Ejemplo de uso
Query
Response
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. Sintaxisx. FixedString
Ejemplos
Ejemplo de uso
Query
Response
reinterpretAsFloat32
Introducido en: v1.1.0 Reinterpreta el valor de entrada como un valor de tipo Float32. A diferencia deCAST, 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
x— Valor para reinterpretar como Float32.(U)Int*oFloat*oDateoDateTimeoUUIDoStringoFixedString
x. Float32
Ejemplos
Ejemplo de uso
Query
Response
reinterpretAsFloat64
Introducida en: v1.1.0 Reinterpreta el valor de entrada como un valor de tipo Float64. A diferencia deCAST, 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
x— Valor para reinterpretar como Float64.(U)Int*oFloat*oDateoDateTimeoUUIDoStringoFixedString
x. Float64
Ejemplos
Ejemplo de uso
Query
Response
reinterpretAsInt128
Introducido en: v1.1.0 Reinterpreta el valor de entrada como un valor de tipo Int128. A diferencia deCAST, 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
x— Valor que se va a reinterpretar como Int128.(U)Int*oFloat*oDateoDateTimeoUUIDoStringoFixedString
x. Int128
Ejemplos
Ejemplo de uso
Query
Response
reinterpretAsInt16
Introducido en: v1.1.0 Reinterpreta el valor de entrada como un valor de tipo Int16. A diferencia deCAST, 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
x— Valor que se reinterpretará como Int16.(U)Int*oFloat*oDateoDateTimeoUUIDoStringoFixedString
x. Int16
Ejemplos
Ejemplo de uso
Query
Response
reinterpretAsInt256
Introducido en: v1.1.0 Reinterpreta el valor de entrada como un valor de tipo Int256. A diferencia deCAST, 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
x— Valor que se va a reinterpretar como Int256.(U)Int*oFloat*oDateoDateTimeoUUIDoStringoFixedString
x. Int256
Ejemplos
Ejemplo de uso
Query
Response
reinterpretAsInt32
Introducido en: v1.1.0 Reinterpreta el valor de entrada como un valor de tipo Int32. A diferencia deCAST, 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
x— Valor que se reinterpretará como Int32.(U)Int*oFloat*oDateoDateTimeoUUIDoStringoFixedString
x. Int32
Ejemplos
Ejemplo de uso
Query
Response
reinterpretAsInt64
Introducido en: v1.1.0 Reinterpreta el valor de entrada como un valor del tipo Int64. A diferencia deCAST, 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
x— Valor que se reinterpretará como Int64.(U)Int*oFloat*oDateoDateTimeoUUIDoStringoFixedString
x. Int64
Ejemplos
Ejemplo de uso
Query
Response
reinterpretAsInt8
Introducido en: v1.1.0 Reinterpreta el valor de entrada como un valor de tipo Int8. A diferencia deCAST, 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
x— Valor que se va a reinterpretar como Int8.(U)Int*oFloat*oDateoDateTimeoUUIDoStringoFixedString
x. Int8
Ejemplos
Ejemplo de uso
Query
Response
reinterpretAsString
Introducido en: v1.1.0 Reinterpreta el valor de entrada como una cadena. Para los valores escalares, el orden de bytes se normaliza a little endian y 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. Para unArray de elementos de tamaño fijo, los bytes de los elementos se copian literalmente en su orden nativo en memoria, sin recortar los bytes cero del final y sin normalizar a little endian, por lo que el resultado puede reinterpretarse de nuevo como el tipo Array original en cualquier arquitectura.
Sintaxis
x. String
Ejemplos
Ejemplo de uso
Query
Response
Query
Response
reinterpretAsUInt128
Introducido en: v1.1.0 Reinterpreta el valor de entrada como un valor de tipo UInt128. A diferencia deCAST, 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
x— Valor que se va a reinterpretar como UInt128.(U)Int*oFloat*oDateoDateTimeoUUIDoStringoFixedString
x. UInt128
Ejemplos
Ejemplo de uso
Query
Response
reinterpretAsUInt16
Introducido en: v1.1.0 Reinterpreta el valor de entrada como un valor de tipo UInt16. A diferencia deCAST, 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
x— Valor que se va a reinterpretar como UInt16.(U)Int*oFloat*oDateoDateTimeoUUIDoStringoFixedString
x. UInt16
Ejemplos
Ejemplo de uso
Query
Response
reinterpretAsUInt256
Introducido en: v1.1.0 Reinterpreta el valor de entrada como un valor de tipo UInt256. A diferencia deCAST, 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
x— Valor para reinterpretar como UInt256.(U)Int*oFloat*oDateoDateTimeoUUIDoStringoFixedString
x. UInt256
Ejemplos
Ejemplo de uso
Query
Response
reinterpretAsUInt32
Introducido en: v1.1.0 Reinterpreta el valor de entrada como un valor de tipo UInt32. A diferencia deCAST, 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
x— Valor que se reinterpretará como UInt32.(U)Int*oFloat*oDateoDateTimeoUUIDoStringoFixedString
x. UInt32
Ejemplos
Ejemplo de uso
Query
Response
reinterpretAsUInt64
Introducido en: v1.1.0 Reinterpreta el valor de entrada como un valor de tipo UInt64. A diferencia deCAST, 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
x— Valor que se va a reinterpretar como UInt64.Int*oUInt*oFloat*oDateoDateTimeoUUIDoStringoFixedString
x. UInt64
Ejemplos
Ejemplo de uso
Query
Response
reinterpretAsUInt8
Introducido en: v1.1.0 Reinterpreta el valor de entrada como un valor de tipo UInt8. A diferencia deCAST, 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
x— Valor para reinterpretar como UInt8.(U)Int*oFloat*oDateoDateTimeoUUIDoStringoFixedString
x. UInt8
Ejemplos
Ejemplo de uso
Query
Response
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. Sintaxisfixed_string— Cadena de bytes en orden big-endian.FixedString
UUID
Ejemplos
De cadena a UUID
Query
Response
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: Sintaxisexpr— Expresión que devuelve un número o la representación en cadena de un número.Expression
BFloat16
Ejemplos
Ejemplo de uso
Query
Response
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.
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.
x— La representación en cadena de un número.String
NULL en caso contrario. BFloat16 o NULL
Ejemplos
Ejemplo de uso
Query
Response
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.
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.
x— Una representación en cadena de un número.String
0. BFloat16
Ejemplos
Ejemplo de uso
Query
Response
toBool
Introducido en: v22.2.0 Convierte un valor de entrada en un valor del tipo Bool. Sintaxisexpr— 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*oFloat*oStringoExpression
true o false según la evaluación del argumento. Bool
Ejemplos
Ejemplo de uso
Query
Response
toDate
Introducido en: v1.1.0 Convierte un valor de entrada al tipoDate.
Admite la conversión desde tipos String, FixedString, DateTime o numéricos.
Sintaxis
x— Valor de entrada para convertir.StringoFixedStringoDateTimeo(U)Int*oFloat*
Date
Ejemplos
Conversión de String a Date
Query
Response
Query
Response
Query
Response
toDate32
Introducido en: v21.9.0 Convierte el argumento al tipo de dato Date32. Si el valor está fuera del rango[0000-01-01, 9999-12-31], toDate32 devuelve los valores límite admitidos por Date32.
Si el argumento es de tipo Date, se tienen en cuenta sus límites.
Sintaxis
Date32
Ejemplos
Dentro del intervalo
Query
Response
Query
Response
toDate32OrDefault
Introducido en: v21.11.0 Convierte el argumento al tipo de dato Date32. Si el argumento no se puede convertir, lo que incluye un valor numérico fuera del rango de Date32, la función devuelve un valor predeterminado, que es el segundo argumento (si se especifica) o, de lo contrario,1900-01-01, el valor predeterminado histórico de Date32 (no su límite inferior, que es 0000-01-01). Si el argumento es de tipo Date, se tienen en cuenta sus límites.
Tenga en cuenta que, a diferencia de toDate32, esta función no satura un argumento numérico fuera de rango a los límites de Date32; dicho argumento se considera no convertible.
Sintaxis
expr— Expresión que devuelve un número o la representación en cadena de un número.Stringo(U)Int*oFloat*default— Opcional. El valor predeterminado que se devolverá si el análisis falla.Date32
Date32
Ejemplos
Conversión correcta
Query
Response
Query
Response
Query
Response
toDate32OrNull
Introducido en: v21.9.0 Convierte un valor de entrada a un valor de tipo Date32, pero devuelveNULL si recibe un argumento no válido.
Igual que toDate32, pero devuelve NULL si recibe un argumento no válido.
Sintaxis
x— La representación en cadena de una fecha.String
Date32 si la conversión se realiza correctamente; de lo contrario, NULL. Date32 o NULL
Ejemplos
Ejemplo de uso
Query
Response
toDate32OrZero
Introducido en: v21.9.0 Convierte un valor de entrada en un valor de tipo Date32, pero devuelve el valor predeterminado1900-01-01 si se recibe un argumento no válido.
Es igual que toDate32, pero devuelve 1900-01-01 si se recibe un argumento no válido.
Tenga en cuenta que 1900-01-01 es un valor predeterminado histórico para entradas no válidas, no el límite inferior de Date32, que es 0000-01-01.
Véase también:
Sintaxis
x— La representación en cadena de una fecha.String
1900-01-01). Date32
Ejemplos
Ejemplo de uso
Query
Response
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. Sintaxisexpr— Expresión que devuelve un número o una representación en cadena de un número.Stringo(U)Int*oFloat*default— Opcional. El valor predeterminado que se devuelve si el análisis no se puede realizar correctamente.Date
Date
Ejemplos
Conversión correcta
Query
Response
Query
Response
toDateOrNull
Introducido en: v1.1.0 Convierte un valor de entrada en un valor de tipoDate, pero devuelve NULL si recibe un argumento no válido.
Igual que toDate, pero devuelve NULL si recibe un argumento no válido.
Un argumento entero se interpreta de la misma manera que en toDate (como un número de días desde 1970-01-01 si no supera 65535; en caso contrario, como una marca temporal Unix) y devuelve NULL si queda fuera del rango del tipo Date.
Sintaxis
x— Una representación en cadena de una fecha, o un número entero de días o una marca temporal Unix.Stringo(U)Int8/16/32/64
Date si la operación se realiza correctamente; de lo contrario, NULL. Date o NULL
Ejemplos
Ejemplo de uso
Query
Response
toDateOrZero
Introducido en: v1.1.0 Convierte un valor de entrada en un valor de tipoDate, 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
x— Una representación en cadena de una fecha.String
1970-01-01). Date
Ejemplos
Ejemplo de uso
Query
Response
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.expr es un valor Time o Time64, se interpreta como la cantidad de segundos transcurridos desde el inicio de la época Unix: la parte fraccionaria de un Time64 se redondea hacia menos infinito, y los valores fuera del rango de DateTime siguen la configuración date_time_overflow_behavior.
Sintaxis
expr— El valor.StringoIntoDateoDate32oTimeoTime64oDateTimeoDateTime64time_zone— Zona horaria.String
DateTime
Ejemplos
Ejemplo de uso
Query
Response
toDateTime32
Introducido en: v20.9.0 Convierte un valor de entrada al tipoDateTime.
Admite conversiones desde String, FixedString, Date, Date32, Time, Time64, DateTime, DateTime64 o tipos numéricos ((U)Int8, (U)Int16, (U)Int32, (U)Int64, (U)Int128, (U)Int256, BFloat16, Float32, Float64). Los valores Decimal no son compatibles y generan una excepción.
DateTime32 es un alias de DateTime y admite fechas desde 1970-01-01 00:00:00 hasta 2106-02-07 06:28:15.
Al convertir desde una cadena o desde uno de los tipos numéricos saturables enumerados anteriormente, los valores fuera de este intervalo se saturan en sus límites. Los valores de coma flotante no finitos (NaN, inf, -inf) no se pueden convertir y generan una excepción.
Las conversiones desde otros tipos de fecha y hora, como Date32, DateTime64, Time o Time64, siguen la configuración date_time_overflow_behavior: el modo predeterminado ignore puede producir valores con desbordamiento, saturate los limita a los límites del intervalo y throw genera una excepción. Los valores Time64 se redondean primero hacia menos infinito a segundos enteros.
Sintaxis
x— Valor de entrada que se convertirá.String,FixedString,(U)Int*,Float*,BFloat16,Date,Date32,Time,Time64,DateTimeoDateTime64timezone— Opcional. Zona horaria del valorDateTimedevuelto.String
DateTime
Ejemplos
A partir de una cadena
Query
Response
Query
Response
Query
Response
toDateTime64
Introducido en: v20.1.0 Convierte un valor de entrada en un valor del tipoDateTime64.
Sintaxis
expr— Expresión que devuelve un número o su representación en cadena.Expresiónscale— Tamaño del tick (precisión): 10^(-scale) segundos.UInt8timezone— Opcional. Zona horaria del objetoDateTime64especificado.String
DateTime64
Ejemplos
El valor está dentro del rango
Query
Response
Query
Response
Query
Response
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. Sintaxisexpr— Expresión que devuelve un número o una representación en cadena de un número.Stringo(U)Int*oFloat*scale— Tamaño del tick (precisión): 10^-precisión segundos.UInt8timezone— Opcional. Zona horaria.Stringdefault— Opcional. El valor predeterminado que se devuelve si el análisis no se realiza correctamente.DateTime64
DateTime64
Ejemplos
Conversión correcta
Query
Response
Query
Response
toDateTime64OrNull
Introducido en: v20.1.0 Convierte un valor de entrada en un valor de tipoDateTime64, pero devuelve NULL si recibe un argumento no válido.
Es igual que toDateTime64, pero devuelve NULL si recibe un argumento no válido.
Un argumento entero se interpreta como una marca temporal Unix en segundos enteros y devuelve NULL si está fuera del rango del tipo DateTime64.
Sintaxis
x— Una representación en cadena de una fecha con hora y precisión de subsegundos, o una marca temporal Unix entera.Stringo(U)Int8/16/32/64precision— Opcional. La precisión de subsegundos del valor devuelto.UInt8timezone— Opcional. La zona horaria del valor devuelto.String
DateTime64 si la operación se realiza correctamente; en caso contrario, NULL. DateTime64 o NULL
Ejemplos
Ejemplo de uso
Query
Response
toDateTime64OrZero
Introducido en: v20.1.0 Convierte un valor de entrada en un valor del tipo DateTime64, pero devuelve el valor cero de DateTime64 (la época Unix,1970-01-01 00:00:00) si recibe un argumento no válido.
Es igual que toDateTime64, pero devuelve el valor cero de DateTime64 si recibe un argumento no válido.
Véase también:
Sintaxis
x— Una representación en cadena de una fecha y hora con precisión de subsegundos.Stringprecision— Opcional. La precisión de subsegundos del valor devuelto.UInt8timezone— Opcional. La zona horaria del valor devuelto.String
1970-01-01 00:00:00) con la precisión solicitada. DateTime64
Ejemplos
Ejemplo de uso
Query
Response
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. Sintaxisexpr— Expresión que devuelve un número o una representación en cadena de un número.Stringo(U)Int*oFloat*timezone— Opcional. Zona horaria.Stringdefault— Opcional. El valor predeterminado que se devuelve si el análisis falla.DateTime
DateTime
Ejemplos
Conversión correcta
Query
Response
Query
Response
toDateTimeOrNull
Introducido en: v1.1.0 Convierte un valor de entrada en un valor de tipoDateTime, pero devuelve NULL si recibe un argumento no válido.
Es igual que toDateTime, pero devuelve NULL si recibe un argumento no válido.
Un argumento entero se interpreta como una marca de tiempo Unix y produce NULL si está fuera del intervalo del tipo DateTime.
Sintaxis
x— Una representación en cadena de una fecha con hora, o una marca de tiempo Unix entera.Stringo(U)Int8/16/32/64timezone— Opcional. Zona horaria del valor devuelto.String
DateTime si tiene éxito; de lo contrario, NULL. DateTime o NULL
Ejemplos
Ejemplo de uso
Query
Response
Query
Response
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. Sintaxisx— Una representación en cadena de una fecha con hora.String
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
Response
toDecimal128
Introducido en: v18.12.0 Convierte un valor de entrada en un valor del tipoDecimal(38, S) con escala 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*.
- Valores o representaciones en cadena de valores Float*
NaNeInf(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.expr— Expresión que devuelve un número o la representación en cadena de un número.ExpresiónS— Parámetro de escala entre 0 y 38, que especifica cuántos dígitos puede tener la parte fraccionaria de un número.UInt8
Decimal(38, S) Decimal128(S)
Ejemplos
Ejemplo de uso
Query
Response
toDecimal128OrDefault
Introducido en: v21.11.0 Al igual quetoDecimal128, 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
expr— Una representación en forma de String de un número.StringS— Parámetro de escala entre 0 y 38 que especifica cuántos dígitos puede tener la parte fraccionaria de un número.UInt8default— Opcional. El valor predeterminado que se devolverá si la conversión al tipo Decimal128(S) no se realiza correctamente.Decimal128(S)
Decimal128(S)
Ejemplos
Conversión exitosa
Query
Response
Query
Response
toDecimal128OrNull
Introducido en: v20.1.0 Convierte un valor de entrada en un valor del tipoDecimal(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*.
NULL):
- Valores o representaciones en cadena de valores Float*
NaNeInf(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)).
expr— expresión que devuelve un número o la representación en cadena de un número.ExpresiónS— Parámetro de escala entre 0 y 38 que especifica cuántos dígitos puede tener la parte fraccionaria de un número.UInt8
NULL. Decimal128(S) o NULL
Ejemplos
Ejemplo de uso
Query
Response
toDecimal128OrZero
Introducido en: v20.1.0 Convierte un valor de entrada en un valor del tipo Decimal(38, S), pero devuelve0 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 en cadena del tipo (U)Int*.
- Valores o representaciones en cadena del tipo Float*.
0):
- Valores o representaciones en cadena de valores Float*
NaNeInf(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
Decimal128:(-1*10^(38 - S), 1*10^(38 - S)), la función devuelve 0.expr— expresión que devuelve un número o la representación en cadena de un número.ExpresiónS— Parámetro de escala entre 0 y 38 que especifica cuántos dígitos puede tener la parte fraccionaria de un número.UInt8
Decimal(38, S) si la operación se realiza correctamente; en caso contrario, 0. Decimal128(S)
Ejemplos
Uso básico
Query
Response
toDecimal256
Introducido en: v20.8.0 Convierte un valor de entrada en un valor de tipoDecimal(76, S) con escala 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*.
- Valores o representaciones en cadena de valores Float*
NaNeInf(sin distinción entre mayúsculas y minúsculas). - Representaciones en 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.expr— Expresión que devuelve un número o una representación en cadena de un número.ExpresiónS— Parámetro de escala entre 0 y 76 que especifica cuántos dígitos puede tener la parte fraccionaria de un número.UInt8
Decimal(76, S). Decimal256(S)
Ejemplos
Ejemplo de uso
Query
Response
toDecimal256OrDefault
Introducido en: v21.11.0 Al igual quetoDecimal256, 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
expr— Una representación en cadena de un número.StringS— Parámetro de escala entre 0 y 76 que especifica cuántos dígitos puede tener la parte fraccionaria de un número.UInt8default— Opcional. El valor predeterminado que se devolverá si no se puede convertir al tipo Decimal256(S).Decimal256(S)
Decimal256(S)
Ejemplos
Conversión exitosa
Query
Response
Query
Response
toDecimal256OrNull
Introducido en: v20.8.0 Convierte un valor de entrada a un valor de tipoDecimal(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*.
NULL):
- Valores o representaciones en cadena de valores Float*
NaNeInf(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)).
expr— Expresión que devuelve un número o la representación en cadena de un número.ExpressionS— Parámetro de escala entre 0 y 76 que especifica cuántos dígitos puede tener la parte fraccionaria de un número.UInt8
NULL. Decimal256(S) o NULL
Ejemplos
Ejemplo de uso
Query
Response
toDecimal256OrZero
Introducido en: v20.8.0 Convierte un valor de entrada en un valor de tipo Decimal(76, S), pero devuelve0 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*.
0):
- Valores o representaciones en cadena de valores Float*
NaNeInf(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.expr— expresión que devuelve un número o la representación en cadena de un número.ExpresiónS— Parámetro de escala entre 0 y 76 que especifica cuántos dígitos puede tener la parte fraccionaria de un número.UInt8
0. Decimal256(S)
Ejemplos
Ejemplo de uso
Query
Response
toDecimal32
Introducido en: v18.12.0 Convierte un valor de entrada en un valor de tipoDecimal(9, 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*.
- Valores o representaciones en cadena de valores Float*
NaNeInf(sin distinguir entre mayúsculas y minúsculas). - Representaciones en 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.expr— Expresión que devuelve un número o una representación en cadena de un número.ExpresiónS— Parámetro de escala entre 0 y 9 que especifica cuántos dígitos puede tener la parte fraccionaria de un número.UInt8
Decimal(9, S) Decimal32(S)
Ejemplos
Ejemplo de uso
Query
Response
toDecimal32OrDefault
Introducido en: v21.11.0 Al igual quetoDecimal32, 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
expr— Una representación enStringde un número.StringS— Parámetro de escala entre 0 y 9 que especifica cuántos dígitos puede tener la parte fraccionaria de un número.UInt8default— Opcional. El valor predeterminado que se devuelve si no es posible interpretar el valor como el tipo Decimal32(S).Decimal32(S)
Decimal32(S)
Ejemplos
Conversión correcta
Query
Response
Query
Response
toDecimal32OrNull
Introducido en: v20.1.0 Convierte un valor de entrada en un valor de tipoDecimal(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*.
NULL):
- Valores o representaciones en cadena de valores Float*
NaNeInf(sin distinción 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)).
expr— Expresión que devuelve un número o la representación en cadena de un número.ExpressionS— Parámetro de escala entre 0 y 9 que especifica cuántos dígitos puede tener la parte fraccionaria de un número.UInt8
NULL. Decimal32(S) o NULL
Ejemplos
Ejemplo de uso
Query
Response
toDecimal32OrZero
Introducido en: v20.1.0 Convierte un valor de entrada en un valor del tipo Decimal(9, S), pero devuelve0 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*.
0):
- Valores o representaciones en cadena de valores Float*
NaNeInf(sin distinción 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.expr— Expresión que devuelve un número o la representación en cadena.ExpressionS— Parámetro de escala entre 0 y 9 que especifica cuántos dígitos puede tener la parte fraccionaria de un número.UInt8
0. Decimal32(S)
Ejemplos
Ejemplo de uso
Query
Response
toDecimal64
Introducido en: v18.12.0 Convierte un valor de entrada en un valor de tipoDecimal(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*.
- Valores o representaciones en cadena de valores Float*
NaNeInf(sin distinción 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.expr— Expresión que devuelve un número o la representación en cadena.ExpressionS— Parámetro de escala entre 0 y 18 que especifica cuántos dígitos puede tener la parte fraccionaria de un número.UInt8
Decimal(18, S)
Ejemplos
Ejemplo de uso
Query
Response
toDecimal64OrDefault
Introducido en: v21.11.0 Al igual quetoDecimal64, 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
expr— Una representación enStringde un número.StringS— Parámetro de escala entre 0 y 18 que especifica cuántos dígitos puede tener la parte fraccionaria de un número.UInt8default— Opcional. El valor predeterminado que se devuelve si no se puede convertir al tipo Decimal64(S).Decimal64(S)
Decimal64(S)
Ejemplos
Conversión correcta
Query
Response
Query
Response
toDecimal64OrNull
Introducido en: v20.1.0 Convierte un valor de entrada en un valor de tipo Decimal(18, S), pero devuelveNULL 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*.
NULL):
- Valores o representaciones en cadena de valores Float*
NaNeInf(sin distinción 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)).
expr— Expresión que devuelve un número o una representación en cadena de un número.ExpressionS— Parámetro de escala entre 0 y 18 que especifica cuántos dígitos puede tener la parte fraccionaria de un número.UInt8
Decimal(18, S) si la operación se realiza correctamente; de lo contrario, NULL. Decimal64(S) o NULL
Ejemplos
Ejemplo de uso
Query
Response
toDecimal64OrZero
Introducido en: v20.1.0 Convierte un valor de entrada en un valor de tipo Decimal(18, S), pero devuelve0 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*.
0):
- Valores o representaciones en cadena de valores Float*
NaNeInf(sin distinción 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.expr— Expresión que devuelve un número o su representación en cadena.ExpressionS— Parámetro de escala entre 0 y 18 que especifica cuántos dígitos puede tener la parte fraccionaria de un número.UInt8
Decimal(18, S) si la operación se realiza correctamente; de lo contrario, 0. Decimal64(S)
Ejemplos
Ejemplo de uso
Query
Response
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. Sintaxisnumber— El valor numérico que se convertirá en una cadena. Puede ser cualquier tipo numérico (Int, UInt, Float, Decimal).Int8oInt16oInt32oInt64oUInt8oUInt16oUInt32oUInt64oFloat32oFloat64oDecimalscale— El número de dígitos que se mostrarán en la parte fraccionaria. El resultado se redondeará si es necesario.UInt8
String
Ejemplos
Redondear y dar formato a un número
Query
Response
Query
Response
Query
Response
toFixedString
Introducido en: v1.1.0 Convierte un argumentoString 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
s— Cadena que se va a convertir.StringN— Longitud del FixedString resultante.const UInt*
FixedString(N)
Ejemplos
Ejemplo de uso
Query
Response
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
NaNeInf. - Representaciones de cadena de Float*, incluidos
NaNeInf(sin distinción entre mayúsculas y minúsculas).
- Representaciones de cadena de valores binarios y hexadecimales; por ejemplo,
SELECT toFloat32('0xc0fe');.
expr— Expresión que devuelve un número o una representación en cadena de un número.Expression
Float32
Ejemplos
Ejemplo de uso
Query
Response
toFloat32OrDefault
Introducido en: v21.11.0 Al igual quetoFloat32, 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
expr— Expresión que devuelve un número o la representación en cadena de un número.Stringo(U)Int*oFloat*default— Opcional. El valor predeterminado que se devolverá si el análisis falla.Float32
Float32
Ejemplos
Conversión correcta
Query
Response
Query
Response
toFloat32OrNull
Introducido en: v1.1.0 Convierte un valor de entrada en un valor de tipo Float32, pero devuelveNULL 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
NaNeInf. - Representaciones en cadena de Float*, incluidos
NaNeInf(sin distinción entre mayúsculas y minúsculas).
NULL):
- Representaciones en cadena de valores binarios y hexadecimales; por ejemplo,
SELECT toFloat32OrNull('0xc0fe');. - Formatos de cadena no válidos.
x— Una representación en cadena de un número.String
NULL. Float32 o NULL
Ejemplos
Ejemplo de uso
Query
Response
toFloat32OrZero
Introducido en: v1.1.0 Convierte un valor de entrada en un valor de tipo Float32, pero devuelve0 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
x— Una representación en cadena de un número.String
0. Float32
Ejemplos
Ejemplo de uso
Query
Response
toFloat64
Introducido en: v1.1.0 Convierte un valor de entrada en un valor del tipoFloat64.
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
NaNeInf. - Representaciones de cadena del tipo Float*, incluidos
NaNeInf(sin distinguir entre mayúsculas y minúsculas).
- Representaciones de cadena de valores binarios y hexadecimales, por ejemplo,
SELECT toFloat64('0xc0fe');.
expr— Expresión que devuelve un número o su representación en cadena.Expresión
Float64
Ejemplos
Ejemplo de uso
Query
Response
toFloat64OrDefault
Introducido en: v21.11.0 Al igual quetoFloat64, 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
expr— Expresión que devuelve un número o la representación en cadena de un número.Stringo(U)Int*oFloat*default— Opcional. El valor predeterminado que se devuelve si el análisis no se realiza correctamente.Float64
Float64
Ejemplos
Conversión correcta
Query
Response
Query
Response
toFloat64OrNull
Introducido en: v1.1.0 Convierte un valor de entrada en un valor de tipo Float64, pero devuelveNULL 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
NaNeInf. - Representaciones de cadena del tipo Float*, incluidos
NaNeInf(sin distinguir entre mayúsculas y minúsculas).
NULL):
- Representaciones de cadena de valores binarios y hexadecimales, p. ej.,
SELECT toFloat64OrNull('0xc0fe');. - Formatos de cadena no válidos.
x— La representación en cadena de un número.String
NULL. Float64 o NULL
Ejemplos
Ejemplo de uso
Query
Response
toFloat64OrZero
Introducido en: v1.1.0 Convierte un valor de entrada a un valor de tipo Float64, pero devuelve0 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
x— La representación textual de un número.String
0. Float64
Ejemplos
Ejemplo de uso
Query
Response
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*.
- Representaciones en cadena de valores Float*, incluidos
NaNeInf. - 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 presenta desbordamiento o subdesbordamiento.
Esto no se considera un error.
expr— expresión que devuelve un número o la representación en cadena de un número.Expresión
Int128
Ejemplos
Ejemplo de uso
Query
Response
toInt128OrDefault
Introducido en: v21.11.0 Al igual quetoInt128, 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
expr— Expresión que devuelve un número o una representación en cadena de un número.Stringo(U)Int*oFloat*default— Opcional. El valor predeterminado que se devuelve si el análisis falla.Int128
Int128
Ejemplos
Conversión correcta
Query
Response
Query
Response
toInt128OrNull
Introducido en: v20.8.0 Al igual quetoInt128, 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*.
NULL):
- Representaciones en cadena de valores Float*, incluidos
NaNeInf. - 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.
x— Una representación en cadena de un número.String
NULL si la conversión no se realiza correctamente. Int128 o NULL
Ejemplos
Ejemplo de uso
Query
Response
toInt128OrZero
Introducido en: v20.8.0 Convierte un valor de entrada al tipo Int128, pero devuelve0 en caso de error.
Es como toInt128, pero devuelve 0 en lugar de lanzar una excepción.
Véase también:
Sintaxis
x— Valor de entrada que se va a convertir.StringoFixedStringoFloat*oDecimalo(U)Int*oDateoDateTime
0 si la conversión falla. Int128
Ejemplos
Ejemplo de uso
Query
Response
Query
Response
toInt16
Introducido en: v1.1.0 Convierte un valor de entrada en un valor de tipoInt16.
Lanza una excepción en caso de error.
Argumentos admitidos:
- Valores o representaciones en cadena del tipo (U)Int*.
- Valores del tipo Float*.
- Representaciones en cadena de valores Float*, incluidos
NaNeInf. - 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.
expr— expresión que devuelve un número o la representación en cadena de un número.expresión
Int16
Ejemplos
Ejemplo de uso
Query
Response
toInt16OrDefault
Introducido en: v21.11.0 Al igual quetoInt16, 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
expr— Expresión que devuelve un número o la representación en cadena de un número.Stringo(U)Int*oFloat*default— Opcional. El valor predeterminado que se devuelve si el análisis no se realiza correctamente.Int16
Int16
Ejemplos
Conversión correcta
Query
Response
Query
Response
toInt16OrNull
Introducido en: v1.1.0 Al igual quetoInt16, 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*.
NULL):
- Representaciones en cadena de valores Float*, incluidos
NaNeInf. - 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.
x— Una representación en cadena de un número.String
Int16 o NULL si la conversión no se realiza correctamente. Int16 o NULL
Ejemplos
Ejemplo de uso
Query
Response
toInt16OrZero
Introducido en: v1.1.0 Al igual quetoInt16, 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*.
0):
- Representaciones en cadena de valores Float*, incluidos
NaNeInf. - 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.
x— Una representación en cadena de un número.String
0 si la conversión no se realiza correctamente. Int16
Ejemplos
Ejemplo de uso
Query
Response
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*.
- Representaciones en cadena de valores Float*, incluidos
NaNeInf. - 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.
expr— Expresión que devuelve un número o la representación en cadena de un número.Expresión
Int256
Ejemplos
Ejemplo de uso
Query
Response
toInt256OrDefault
Introducido en: v21.11.0 Al igual quetoInt256, 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
expr— Expresión que devuelve un número o la representación en cadena de un número.Stringo(U)Int*oFloat*default— Opcional. El valor predeterminado que se devuelve si el análisis no se realiza correctamente.Int256
Int256
Ejemplos
Conversión correcta
Query
Response
Query
Response
toInt256OrNull
Introducido en: v20.8.0 Al igual quetoInt256, esta función convierte un valor de entrada en un valor de tipo Int256, pero devuelve NULL en caso de error.
Argumentos admitidos:
- Representaciones en cadena de (U)Int*.
NULL):
- Representaciones en cadena de valores Float*, incluidos
NaNeInf. - Representaciones en 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 o subdesbordamiento en el resultado.
Esto no se considera un error.
x— La representación en cadena de un número.String
NULL si la conversión no se realiza correctamente. Int256 o NULL
Ejemplos
Ejemplo de uso
Query
Response
toInt256OrZero
Introducido en: v20.8.0 Convierte un valor de entrada al tipo Int256, pero devuelve0 en caso de error.
Igual que toInt256, pero devuelve 0 en lugar de generar una excepción.
Véase también:
Sintaxis
x— Valor de entrada que se va a convertir.StringoFixedStringoFloat*oDecimalo(U)Int*oDateoDateTime
0 si la conversión falla. Int256
Ejemplos
Ejemplo de uso
Query
Response
Query
Response
toInt32
Introducido en: v1.1.0 Convierte un valor de entrada en un valor de tipoInt32.
Lanza una excepción en caso de error.
Argumentos admitidos:
- Valores o representaciones en cadena del tipo (U)Int*.
- Valores del tipo Float*.
- Representaciones en cadena de valores Float*, incluidos
NaNeInf. - 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.
expr— Expresión que devuelve un número o la representación en cadena de un número.Expresión
Int32
Ejemplos
Ejemplo de uso
Query
Response
toInt32OrDefault
Introducido en: v21.11.0 Al igual quetoInt32, 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
expr— Expresión que devuelve un número o la representación en cadena de un número.Stringo(U)Int*oFloat*default— Opcional. El valor predeterminado que se devuelve si el análisis no es correcto.Int32
Int32
Ejemplos
Conversión correcta
Query
Response
Query
Response
toInt32OrNull
Introducido en: v1.1.0 Al igual quetoInt32, 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*.
NULL):
- Representaciones en cadena de valores Float*, incluidos
NaNeInf. - 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.
x— Una representación en cadena de un número.String
NULL si la conversión no se realiza correctamente. Int32 o NULL
Ejemplos
Ejemplo de uso
Query
Response
toInt32OrZero
Introducido en: v1.1.0 Al igual quetoInt32, 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*.
0):
- Representaciones en cadena de valores Float*, incluidos
NaNeInf. - 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.
x— Una representación en cadena de un número.String
0 si la conversión no se realiza correctamente. Int32
Ejemplos
Ejemplo de uso
Query
Response
toInt64
Introducido en: v1.1.0 Convierte un valor de entrada en un valor de tipoInt64.
Lanza una excepción si se produce un error.
Argumentos admitidos:
- Valores o representaciones en cadena del tipo (U)Int*.
- Valores del tipo Float*.
- Representaciones en cadena de valores Float*, incluidos
NaNeInf. - Representaciones en 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.
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
Int64
Ejemplos
Ejemplo de uso
Query
Response
toInt64OrDefault
Introducido en: v21.11.0 Al igual quetoInt64, 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
expr— Expresión que devuelve un número o la representación en cadena de un número.Stringo(U)Int*oFloat*default— Opcional. El valor predeterminado que se devuelve si no se puede analizar.Int64
Int64
Ejemplos
Conversión correcta
Query
Response
Query
Response
toInt64OrNull
Introducido en: v1.1.0 Al igual quetoInt64, 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*.
NULL):
- Representaciones en cadena de valores Float*, incluidos
NaNeInf. - 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.
x— La representación en cadena de un número.String
NULL si la conversión no se realiza correctamente. Int64 o NULL
Ejemplos
Ejemplo de uso
Query
Response
toInt64OrZero
Introducido en: v1.1.0 Convierte un valor de entrada al tipo Int64, pero devuelve0 si se produce un error.
Igual que toInt64, pero devuelve 0 en lugar de lanzar una excepción.
Véase también:
Sintaxis
x— Valor de entrada que se va a convertir.StringoFixedStringoFloat*oDecimalo(U)Int*oDateoDateTime
0 si la conversión falla. Int64
Ejemplos
Ejemplo de uso
Query
Response
Query
Response
toInt8
Introducido en: v1.1.0 Convierte un valor de entrada en un valor de tipoInt8.
Lanza una excepción en caso de error.
Argumentos admitidos:
- Valores o representaciones en cadena del tipo (U)Int*.
- Valores del tipo Float*.
- Representaciones en cadena de valores Float*, incluidos
NaNeInf. - Representaciones en cadena de valores binarios y hexadecimales; por ejemplo,
SELECT toInt8('0xc0fe');.
Si el valor de entrada no puede representarse dentro de los límites de Int8, se produce un desbordamiento 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.
expr— Expresión que devuelve un número o la representación en cadena de un número.Expresión
Int8
Ejemplos
Ejemplo de uso
Query
Response
toInt8OrDefault
Introducido en: v21.11.0 Al igual quetoInt8, 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
expr— Expresión que devuelve un número o una representación en cadena de un número.Stringo(U)Int*oFloat*default— Opcional. El valor predeterminado que se devuelve si no se puede analizar.Int8
Int8
Ejemplos
Conversión correcta
Query
Response
Query
Response
toInt8OrNull
Introducido en: v1.1.0 Al igual quetoInt8, 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*.
NULL):
- Representaciones en cadena de valores Float*, incluidos
NaNeInf. - 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.
x— Una representación en cadena de un número.String
NULL si la conversión no se realiza correctamente. Int8 o NULL
Ejemplos
Ejemplo de uso
Query
Response
toInt8OrZero
Introducido en: v1.1.0 Al igual quetoInt8, esta función convierte un valor de entrada en un valor de tipo Int8, pero devuelve 0 en caso de error.
Argumentos admitidos:
- Representaciones en cadena de (U)Int*.
0):
- Representaciones en cadena de valores Float*, incluidos
NaNeInf. - Representaciones en 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 un desbordamiento o subdesbordamiento en el resultado.
Esto no se considera un error.
x— Una representación en cadena de un número.String
0 si la conversión no se realiza correctamente. Int8
Ejemplos
Ejemplo de uso
Query
Response
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 comotoIntervalSecond, toIntervalMinute, toIntervalDay, etc.,
pero permite especificar la unidad de forma dinámica como un parámetro de cadena.
Sintaxis
value— El valor numérico que representa el número de unidades. Puede ser cualquier tipo numérico.Int8oInt16oInt32oInt64oUInt8oUInt16oUInt32oUInt64oFloat32oFloat64unit— La unidad de tiempo. Debe ser una cadena constante. Valores válidos: ‘nanosecond’, ‘microsecond’, ‘millisecond’, ‘second’, ‘minute’, ‘hour’, ‘day’, ‘week’, ‘month’, ‘quarter’, ‘year’.String
Interval
Ejemplos
Crear intervalos con distintas unidades
Query
Response
Query
Response
Query
Response
toIntervalDay
Introducido en: v1.1.0 Devuelve un intervalo den días del tipo de datos IntervalDay.
Sintaxis
n— Número de días. Números enteros o su representación en cadena, y números de coma flotante.(U)Int*oFloat*oString
n días. Interval
Ejemplos
Ejemplo de uso
Query
Response
toIntervalHour
Introducido en: v1.1.0 Devuelve un intervalo den horas del tipo de dato IntervalHour.
Sintaxis
n— Número de horas. Números enteros o sus representaciones en cadena, y números de coma flotante.Int*oUInt*oFloat*oString
n horas. Interval
Ejemplos
Ejemplo de uso
Query
Response
toIntervalMicrosecond
Introducido en: v22.6.0 Devuelve un intervalo den microsegundos del tipo de dato IntervalMicrosecond.
Sintaxis
n microsegundos. Interval
Ejemplos
Ejemplo de uso
Query
Response
toIntervalMillisecond
Introducido en: v22.6.0 Devuelve un intervalo den milisegundos del tipo de datos IntervalMillisecond.
Sintaxis
n milisegundos. Interval
Ejemplos
Ejemplo de uso
Query
Response
toIntervalMinute
Introducido en: v1.1.0 Devuelve un intervalo den minutos del tipo de datos IntervalMinute.
Sintaxis
n— Número de minutos. Números enteros o sus representaciones en cadena, y números de punto flotante.(U)Int*oFloat*oString
n minutos. Interval
Ejemplos
Ejemplo de uso
Query
Response
toIntervalMonth
Introducido en: v1.1.0 Devuelve un intervalo den meses del tipo de datos IntervalMonth.
Sintaxis
n meses. Interval
Ejemplos
Ejemplo de uso
Query
Response
toIntervalNanosecond
Introducido en: v22.6.0 Devuelve un intervalo den nanosegundos del tipo de dato IntervalNanosecond.
Sintaxis
n nanosegundos. Interval
Ejemplos
Ejemplo de uso
Query
Response
toIntervalQuarter
Introducido en: v1.1.0 Devuelve un intervalo den trimestres del tipo de dato IntervalQuarter.
Sintaxis
n trimestres. Interval
Ejemplos
Ejemplo de uso
Query
Response
toIntervalSecond
Introducido en: v1.1.0 Devuelve un intervalo den segundos del tipo de datos IntervalSecond.
Sintaxis
n— Número de segundos. Números enteros o sus representaciones como cadenas, y números de coma flotante.(U)Int*oFloat*oString
n segundos. Interval
Ejemplos
Ejemplo de uso
Query
Response
toIntervalWeek
Introducido en: v1.1.0 Devuelve un intervalo den semanas del tipo de datos IntervalWeek.
Sintaxis
n semanas. Interval
Ejemplos
Ejemplo de uso
Query
Response
toIntervalYear
Introducido en: v1.1.0 Devuelve un intervalo den años del tipo de dato IntervalYear.
Sintaxis
n años. Interval
Ejemplos
Ejemplo de uso
Query
Response
toLowCardinality
Introducido en: v18.12.0 Convierte el argumento de entrada en la versión LowCardinality del mismo tipo de dato. Sintaxisexpr— Expresión que da como resultado uno de los tipos de datos admitidos:StringoFixedStringoDateoDateTimeo(U)Int*oFloat*
LowCardinality. LowCardinality
Ejemplos
Ejemplo de uso
Query
Response
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. Sintaxisvalue— Valor que se convertirá en cadena.Anytimezone— Opcional. Nombre de la zona horaria para convertir DateTime.String
String
Ejemplos
Ejemplo de uso
Query
Response
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. Sintaxiss— String o FixedString que se va a procesar.StringoFixedString
String
Ejemplos
Ejemplo de uso
Query
Response
toTime
Introducido en: v25.5.0 Convierte un valor de entrada al tipo Time. Admite la conversión desde String, FixedString, DateTime, DateTime64, Time64 o tipos numéricos que representan segundos transcurridos desde la medianoche. Los valores numéricos fuera del rango del tipo (de-999:59:59 a 999:59:59, es decir, de -3599999 a 3599999 segundos) se saturan a los límites del rango, y los valores de coma flotante no finitos (NaN, inf, -inf) no se pueden convertir y generan una excepción.
Los valores Time64 se redondean hacia el infinito negativo a segundos enteros y se saturan al mismo rango.
Antes de la v25.5,
toTime era una función diferente que convertía una fecha con hora a una fecha fija (1970-01-02) mientras conservaba el
componente de hora. Esa función sigue disponible con el nombre toTimeWithFixedDate.Al establecer use_legacy_to_time en 1, también se mantiene el nombre toTime vinculado a la función
heredada; es decir, las llamadas a toTime se resuelven como toTimeWithFixedDate en lugar de la función de conversión descrita aquí.
Mientras la configuración está habilitada, use CAST(x AS Time) o x::Time para convertir al tipo Time.
La configuración tiene el valor predeterminado 0 desde la v26.7, pero tenía el valor predeterminado 1 de la v25.6 a la v26.6, por lo que los ejemplos siguientes la establecen explícitamente.x— Valor de entrada que se debe convertir.StringoFixedStringoDateTimeoDateTime64oTime64o(U)Int*oBFloat16oFloat*
Time
Ejemplos
Conversión de DateTime64 a Time
Query
Response
Query
Response
Query
Response
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 los segundos transcurridos desde la medianoche. Proporciona precisión de subsegundos para valores de tiempo, con hastascale dígitos fraccionarios.
Sintaxis
x— Valor de entrada que se va a convertir.StringoFixedStringoDateTime64o(U)Int*oFloat*scale— Precisión (número de dígitos fraccionarios,0–9) delTime64resultante.(U)Int*
scale solicitado. Time64
Ejemplos
Conversión de String a Time64
Query
Response
Query
Response
Query
Response
toTime64OrNull
Introducido en: v25.6.0 Convierte un valor de entrada en un valor de tipoTime64, 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
x— Una representación textual de una hora con precisión de subsegundos.Stringprecision— Opcional. La precisión de subsegundos del valor devuelto.UInt8
NULL. Time64 o NULL
Ejemplos
Ejemplo de uso
Query
Response
toTime64OrZero
Introducido en: v25.6.0 Convierte un valor de entrada en un valor de tipoTime64, pero devuelve el valor Time64 cero (00:00:00) si recibe un argumento no válido.
Al igual que toTime64, pero devuelve el valor Time64 cero si recibe un argumento no válido.
Véase también:
Sintaxis
x— Una representación textual de una hora con precisión de subsegundos.Stringprecision— Opcional. La precisión de subsegundos del valor devuelto.UInt8
00:00:00) con la precisión solicitada. Time64
Ejemplos
Ejemplo de uso
Query
Response
toTimeOrNull
Introducido en: v25.5.0 Convierte un valor de entrada en un valor de tipo Time, pero devuelveNULL en caso de error.
Al igual que toTime, pero devuelve NULL en lugar de lanzar una excepción si se producen errores de conversión.
Véase también:
Sintaxis
x— Una representación textual de una hora.String
Time si la operación se realiza correctamente; de lo contrario, NULL. Time o NULL
Ejemplos
Ejemplo de uso
Query
Response
toTimeOrZero
Introducido en: v25.5.0 Convierte un valor de entrada en un valor de tipo Time, pero devuelve00: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
x— Una representación textual de una hora.String
Time si la operación se realiza correctamente; de lo contrario, 00:00:00. Time
Ejemplos
Ejemplo de uso
Query
Response
toUInt128
Introducido en: v1.1.0 Convierte un valor de entrada en un valor de tipoUInt128.
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*.
- Representaciones en cadena de valores Float*, incluidos
NaNeInf. - 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.
expr— Expresión que devuelve un número o la representación en cadena.Expression
UInt128
Ejemplos
Ejemplo de uso
Query
Response
toUInt128OrDefault
Introducido en: v21.11.0 Al igual quetoUInt128, 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
expr— Expresión que devuelve un número o una representación en cadena de un número.Stringo(U)Int*oFloat*default— Opcional. El valor predeterminado que se devuelve si el análisis no se realiza correctamente.UInt128
UInt128
Ejemplos
Conversión correcta
Query
Response
Query
Response
toUInt128OrNull
Introducido en: v21.6.0 Al igual quetoUInt128, 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*.
NULL):
- Representaciones en cadena de valores Float*, incluidos
NaNeInf. - 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.x— Una representación en cadena.String
NULL si la conversión no se realiza correctamente. UInt128 o NULL
Ejemplos
Ejemplo de uso
Query
Response
toUInt128OrZero
Introducido en: v1.1.0 Al igual quetoUInt128, 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*.
0):
- Representaciones en cadena de valores Float*, incluidos
NaNeInf. - 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.x— La representación en cadena.String
0 si la conversión falla. UInt128
Ejemplos
Ejemplo de uso
Query
Response
toUInt16
Introducido en: v1.1.0 Convierte un valor de entrada en un valor de tipoUInt16.
Lanza una excepción en caso de error.
Argumentos admitidos:
- Valores o representaciones en cadena de tipo (U)Int*.
- Valores de tipo Float*.
- Representaciones en cadena de valores Float*, incluidos
NaNeInf. - 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.
expr— Expresión que devuelve un número o una representación en cadena.Expression
UInt16
Ejemplos
Ejemplo de uso
Query
Response
toUInt16OrDefault
Introducido en: v21.11.0 Al igual quetoUInt16, 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
expr— Expresión que devuelve un número o su representación en cadena.Stringo(U)Int*oFloat*default— Opcional. El valor predeterminado que se devuelve si el análisis no se realiza correctamente.UInt16
UInt16
Ejemplos
Conversión correcta
Query
Response
Query
Response
toUInt16OrNull
Introducido en: v1.1.0 Al igual quetoUInt16, esta función convierte un valor de entrada en un valor de tipo UInt16, pero devuelve NULL en caso de error.
Argumentos admitidos:
- Representaciones en cadena de (U)Int8/16/32/128/256.
NULL):
- Representaciones en cadena de valores Float*, incluidos
NaNeInf. - Representaciones en 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.x— Una representación en cadena.String
UInt16; en caso contrario, NULL si la conversión no se realiza correctamente. UInt16 o NULL
Ejemplos
Ejemplo de uso
Query
Response
toUInt16OrZero
Introducido en: v1.1.0 Al igual quetoUInt16, 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.
0):
- Representaciones en cadena de valores Float*, incluidos
NaNeInf. - 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.x— La representación en cadena de un número.String
0 si la conversión no se realiza correctamente. UInt16
Ejemplos
Ejemplo de uso
Query
Response
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*.
- Representaciones en cadena de valores de tipo Float*, incluidos
NaNeInf. - 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.
expr— Expresión que devuelve un número o la representación en cadena de un número.Expresión
UInt256
Ejemplos
Ejemplo de uso
Query
Response
toUInt256OrDefault
Introducido en: v21.11.0 Al igual quetoUInt256, 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
expr— Expresión que devuelve un número o la representación en cadena de un número.Stringo(U)Int*oFloat*default— Opcional. El valor predeterminado que se devuelve si el análisis no se realiza correctamente.UInt256
UInt256
Ejemplos
Conversión correcta
Query
Response
Query
Response
toUInt256OrNull
Introducido en: v20.8.0 Al igual quetoUInt256, esta función convierte un valor de entrada en un valor de tipo UInt256, pero devuelve NULL en caso de error.
Argumentos admitidos:
- Representaciones en cadena de (U)Int*.
NULL):
- Representaciones en cadena de valores Float*, incluidos
NaNeInf. - Representaciones en 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.x— La representación en cadena de un número.String
NULL si la conversión no se realiza correctamente. UInt256 o NULL
Ejemplos
Ejemplo de uso
Query
Response
toUInt256OrZero
Introducido en: v20.8.0 Al igual quetoUInt256, 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*.
0):
- Representaciones en cadena de valores Float*, incluidos
NaNeInf. - 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.x— La representación en cadena de un número.String
0 si la conversión no se realiza correctamente. UInt256
Ejemplos
Ejemplo de uso
Query
Response
toUInt32
Introducido en: v1.1.0 Convierte un valor de entrada en un valor de tipoUInt32.
Lanza una excepción en caso de error.
Argumentos admitidos:
- Valores o representaciones en cadena del tipo (U)Int*.
- Valores del tipo Float*.
- Representaciones en cadena de valores Float*, incluidos
NaNeInf. - 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.
expr— Expresión que devuelve un número o la representación en cadena de un número.Expresión
UInt32
Ejemplos
Ejemplo de uso
Query
Response
toUInt32OrDefault
Introducido en: v21.11.0 Al igual quetoUInt32, 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
expr— Expresión que devuelve un número o una representación en cadena de caracteres de un número.Stringo(U)Int*oFloat*default— Opcional. El valor predeterminado que se devuelve si el análisis falla.UInt32
UInt32
Ejemplos
Conversión exitosa
Query
Response
Query
Response
toUInt32OrNull
Introducido en: v1.1.0 Al igual quetoUInt32, 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.
NULL):
- Representaciones en cadena de valores Float*, incluidos
NaNeInf. - 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.x— La representación en cadena de un número.String
UInt32 o NULL si la conversión no se realiza correctamente. UInt32 o NULL
Ejemplos
Ejemplo de uso
Query
Response
toUInt32OrZero
Introducido en: v1.1.0 Al igual quetoUInt32, 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.
0):
- Representaciones en cadena de valores Float*, incluidos
NaNeInf. - 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.x— Una representación en cadena de un número.String
0 si la conversión no se realiza correctamente. UInt32
Ejemplos
Ejemplo de uso
Query
Response
toUInt64
Introducido en: v1.1.0 Convierte un valor de entrada en un valor de tipoUInt64.
Lanza una excepción en caso de error.
Argumentos admitidos:
- Valores o representaciones en cadena del tipo (U)Int*.
- Valores del tipo Float*.
- Representaciones en cadena de valores Float*, incluidos
NaNeInf. - 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.
expr— Expresión que devuelve un número o la representación en cadena de un número.Expresión
UInt64
Ejemplos
Ejemplo de uso
Query
Response
toUInt64OrDefault
Introducido en: v21.11.0 Al igual quetoUInt64, 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
expr— Expresión que devuelve un número o una representación en cadena de un número.Stringo(U)Int*oFloat*default— Opcional. El valor predeterminado que se devolverá si el análisis sintáctico no se completa correctamente.UInt64
UInt64
Ejemplos
Conversión correcta
Query
Response
Query
Response
toUInt64OrNull
Introducido en: v1.1.0 Al igual quetoUInt64, 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*.
NULL):
- Representaciones en cadena de valores Float*, incluidos
NaNeInf. - 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.x— Una representación en cadena de un número.String
NULL si la conversión no se realiza correctamente. UInt64 o NULL
Ejemplos
Ejemplo de uso
Query
Response
toUInt64OrZero
Introducido en: v1.1.0 Al igual quetoUInt64, esta función convierte un valor de entrada en un valor de tipo UInt64, pero devuelve 0 en caso de error.
Argumentos admitidos:
- Representaciones en cadena de (U)Int*.
0):
- Representaciones en cadena de valores Float*, incluidos
NaNeInf. - Representaciones en 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.x— La representación en cadena de un número.String
0. UInt64
Ejemplos
Ejemplo de uso
Query
Response
toUInt8
Introducido en: v1.1.0 Convierte un valor de entrada en un valor de tipoUInt8.
Lanza una excepción en caso de error.
Argumentos admitidos:
- Valores o representaciones en cadena del tipo (U)Int*.
- Valores del tipo Float*.
- Representaciones en cadena de valores Float*, incluidos
NaNeInf. - Representaciones en 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.
expr— Expresión que devuelve un número o la representación en cadena de un número.Expresión
UInt8
Ejemplos
Ejemplo de uso
Query
Response
toUInt8OrDefault
Introducido en: v21.11.0 Al igual quetoUInt8, 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
expr— Expresión que devuelve un número o la representación en cadena de un número.Stringo(U)Int*oFloat*default— Opcional. El valor predeterminado que se devuelve si el análisis no se realiza correctamente.UInt8
UInt8
Ejemplos
Conversión exitosa
Query
Response
Query
Response
toUInt8OrNull
Introducido en: v1.1.0 Al igual quetoUInt8, esta función convierte un valor de entrada a un valor del tipo UInt8, pero devuelve NULL en caso de error.
Argumentos admitidos:
- Representaciones en cadena de (U)Int8/16/32/128/256.
NULL):
- Representaciones en cadena de valores Float* normales, incluidos
NaNeInf. - Representaciones en 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.x— Una representación en cadena de un número.String
NULL si la conversión no se realiza correctamente. UInt8 o NULL
Ejemplos
Ejemplo de uso
Query
Response
toUInt8OrZero
Introducido en: v1.1.0 Al igual quetoUInt8, 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.
0):
- Representaciones en cadena de valores Float* normales, incluidos
NaNeInf. - 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.x— La representación en cadena de un número.String
0 si la conversión no se realiza correctamente. UInt8
Ejemplos
Ejemplo de uso
Query
Response
toUUID
Introducido en: v1.1.0 Convierte un valor de tipo String en un valor UUID. Sintaxisstring— UUID como cadena.StringoFixedString
UUID
Ejemplos
Ejemplo de uso
Query
Response
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 quetoUUID, 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).
- Formatos de cadena no válidos.
- Tipos que no son cadenas.
x— Una representación textual de un UUID.String
00000000-0000-0000-0000-000000000000). UUID
Ejemplos
Ejemplo de uso
Query
Response
toUnixTimestamp64Micro
Introducido en: v20.5.0 Convierte unDateTime64 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.
value— Valor de DateTime64 con cualquier precisión.DateTime64
Int64
Ejemplos
Ejemplo de uso
Query
Response
toUnixTimestamp64Milli
Introducido en: v20.5.0 Convierte unDateTime64 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.
value— Valor de DateTime64 con cualquier precisión.DateTime64
Int64
Ejemplos
Ejemplo de uso
Query
Response
toUnixTimestamp64Nano
Introducido en: v20.5.0 Convierte unDateTime64 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.
value— Valor de DateTime64 con cualquier precisión.DateTime64
Int64
Ejemplos
Ejemplo de uso
Query
Response
toUnixTimestamp64Second
Introducido en: v24.12.0 Convierte unDateTime64 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.
value— Valor de DateTime64 con cualquier precisión.DateTime64
Int64
Ejemplos
Ejemplo de uso
Query
Response