es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Convertir la cadena concatenada a una marca de tiempo en Impala.

Tengo una columna que es una concatenación de dos columnas, es decir, fecha y marca de tiempo (ambas son de tipo STRING).

Ahora quiero convertir esta nueva columna a marca de tiempo en IMPALA.

|    New_col    |
|---------------| 
|20190616 074113|
|20190627 072350|

He intentado todas las posibles sintaxis como totimestamp, unixtimestamp pero todo resulta en NULL.

Por favor, sugiere una solución.
Gracias de antemano.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para convertir la columna concatenada en una marca de tiempo en Impala, puedes intentar usar la siguiente sintaxis:

    SELECT CAST(concat(substr(New_col,1,8),' ',substr(New_col,9)) AS TIMESTAMP) AS new_timestamp
    FROM table_name;
    

    Esta consulta extraerá los primeros 8 caracteres como fecha y todo lo que sigue como tiempo de la columna New_col, los concatenará con un espacio entre ellos y luego los convertirá en una marca de tiempo. El resultado será una nueva columna llamada new_timestamp.

    Ten en cuenta que el formato de fecha en la columna New_col debe estar en el formato de YYYYMMDD y el formato de hora debe estar en el formato de HHMMSS. Además, asegúrate de que el nombre de la tabla sea correcto y de que la tabla contenga la columna concatenada.

    ¡Espero que esto ayude!

Comments are closed.