La función CAST ayuda a convertir datos de un tipo de datos a otro tipo de datos en Cassandra .
En la función Cassandra CAST Admitido en sentencias SELECT. echemos un vistazo a cómo podemos usar la función CAST en la declaración de selección.
SELECT CAST([fieldname] AS [data type]) FROM [table name]
Función básica de CAST:
- Convierte desde cualquier tipo de datos nativos a tipo de datos de texto en formatos como ASCII y UTF-8.
- Convierte entre tipos de datos numéricos tales como `int` a `smallint`, `smallint` a `int`, etc.
- Al usar la función CAST, podemos convertir el caso de uso más común.
- Es muy útil en caso de optimización donde tenemos la necesidad de cambiar frecuentemente de un tipo de datos a otro.
- Al usar la función CAST, podemos convertir la marca de tiempo en texto para fines de visualización en Cassandra.
Esta es una tabla de referencia en la que se pueden convertir todos los tipos de datos nativos de un tipo de datos a otro.
Echemos un vistazo,
Tabla: tabla de conversión CAST
La siguiente tabla describe las conversiones admitidas por la función de conversión. Cassandra ignorará silenciosamente cualquier conversión que convierta un tipo de datos en su propio tipo de datos.
De | A |
---|---|
ascii | texto, varchar |
Empezando | tinyint, smallint, int, float, doble, decimal, varint, texto, varchar |
booleano | texto, varchar |
encimera | tinyint, smallint, int, bigint, float, doble, decimal, varint, texto, varchar |
fecha | marca de tiempo |
decimal | tinyint, smallint, int, bigint, float, doble, varint, texto, varchar |
doble | tinyint, smallint, int, bigint, float, decimal, varint, texto, varchar |
flotar | tinyint, smallint, int, bigint, doble, decimal, varint, texto, varchar |
inet | texto, varchar |
En t | tinyint, smallint, bigint, float, doble, decimal, varint, texto, varchar |
pequeño | tinyint, int, bigint, float, doble, decimal, varint, texto, varchar |
tiempo | texto, varchar |
marca de tiempo | fecha, texto, varchar |
tiempouuid | marca de tiempo, fecha, texto, varchar |
diminuto | tinyint, smallint, int, bigint, float, doble, decimal, varint, texto, varchar |
uuid | texto, varchar |
variante | tinyint, smallint, int, bigint, float, doble, decimal, texto, varchar |
Fuente: Cassandra.Apache.org
Consulta CQL para la función CAST:
Tomemos un ejemplo: películas es un nombre de tabla en el que queremos cambiar su tipo de datos nativos, de modo que movie_date es un nombre de campo que tiene un tipo de datos de marca de tiempo y si queremos convertirlo en otro tipo de datos nativos como que en el tipo de datos de texto.
Para crear la tabla usó la siguiente consulta CQL.
CREATE TABLE movies ( movie_id int, movie_date timestamp, PRIMARY KEY (movie_id) );
Inserte los siguientes datos en la tabla:
movie_id : 7c3cffb8-0dc4-1d27-af24-c007b5fc5643 movie_date : 2019-10-15 01:11:50.000000+0000 INSERT INTO movies (movie_id, movie_date) VALUES (7c3cffb8-0dc4-1d27-af24-c007b5fc5643, '2019-10-15 01:11:50.000000+0000 ');
Entonces, aquí está el formato de cómo podemos convertir de un tipo de datos a otro usando la función CAST. La declaración dada a continuación significa que vamos a convertir la marca de tiempo movie_date en texto movie_date.
SELECT CAST(movie_date AS text)
- Resultado: Sin CAST
SELECT movie_date FROM movies WHERE movie_id = 7c3cffb8-0dc4-1d27-af24-c007b5fc5643;
Producción:
2019-10-15 01:11:50.000000+0000 (time stamp format)
- Resultado: Con CAST
SELECT CAST(movie_date AS text) FROM movies WHERE movie_id = 7c3cffb8-0dc4-1d27-af24-c007b5fc5643;
Producción:
2019-10-15 01:11:50.000Z (Coordinated Universal Time, or UTC)
Publicación traducida automáticamente
Artículo escrito por Ashish_rana y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA