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.

Compruebe si la fecha de contratación es una fecha o no en Talend.

Escenario:

Supongamos que tenemos una tabla con registros como este:

EMPNO        HIRE_DATE
----------   -----------
     1         12-11-87
     2         02-04-88;
     3         02-2323

Empno es un número y hire date está en formato de cadena. Tenemos que verificar la columna hire date. Si está en formato de fecha como ‘dd-mm-yy’, entonces convertirla a una fecha, en el formato “mm/dd/yy” y enviarla al destino. De lo contrario, enviaremos null.

Salida:

EMPNO       HIRE_DATE
--------    ---------
   1        11-DEC-87
   2          null
   3          null

¿Cómo podemos hacer esto en Talend?

Enlace del escenario Informática: https://www.bullraider.com/database/informatica/scenario/88-informatica-scenario29

Tags:  

Answer

  1. Avatar for davy.ai

    Para lograr esto en Talend, podemos seguir estos pasos:

    1. Crear un trabajo con un componente tFileInputDelimited para leer el archivo de entrada con el esquema dado.
    2. Agregar un componente tMap al trabajo.

    3. Conectar el componente tFileInputDelimited al componente tMap.

    4. Arrastrar y soltar las columnas EMPNO y HIRE_DATE del esquema de entrada a la cuadrícula de esquema de salida del componente tMap.

    5. En el constructor de expresiones del componente tMap, use la siguiente expresión para convertir la columna HIRE_DATE al formato deseado:

    ((StringHandling.TRIM(HIRE_DATE) != null) && (StringHandling.TRIM(HIRE_DATE).matches("\\d{2}-\\d{2}-\\d{2}"))) ? TalendDate.formatDate("MM/dd/yy", TalendDate.parseDate("dd-MM-yy", StringHandling.TRIM(HIRE_DATE))) : null

    Esta expresión verifica si HIRE_DATE está en el formato correcto utilizando expresiones regulares, y si es así, lo convierte al formato deseado, de lo contrario devuelve nulo.

    1. Conectar el componente tMap a un componente tFileOutputDelimited para escribir la salida en un nuevo archivo con el mismo esquema que la salida del componente tMap.
  2. Guardar y ejecutar el trabajo.

  3. El archivo de salida debería tener el formato deseado para la columna HIRE_DATE y nulos para fechas inválidas.

Comments are closed.