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.

En la expresión de la columna derivada en SSIS, encuentra el último fragmento del nombre del archivo de Excel sin la extensión .xlsx.

Estoy creando un paquete SSIS para el cual tengo el requisito de guardar solamente el apellido del nombre del archivo de Excel en una tabla de la base de datos, después del guion bajo (_) y sin la extensión de archivo .xlsx.

Nombre del archivo de muestra: ddmmmaaaa_HHMM_LabLocation.xlsx

Encontré la siguiente expresión, pero muestra LabLocation.xlsx y no quiero la extensión .xlsx. Por favor, ayúdame si alguien sabe cómo solucionar esto.

RIGHT(@[User::InputFullPath],FINDSTRING(REVERSE(@[User::InputFullPath]),"_",1) - 1)

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para eliminar la extensión del archivo (.xlsx) del apellido del archivo de Excel, puedes modificar la expresión dada anidando otra función RIGHT para extraer todo antes del punto (.) que marca la extensión del archivo. La expresión modificada se vería así:

    RIGHT(RIGHT(@[User::InputFullPath],FINDSTRING(REVERSE(@[User::InputFullPath]),"_",1) - 1),FINDSTRING(REVERSE(RIGHT(@[User::InputFullPath],FINDSTRING(REVERSE(@[User::InputFullPath]),"_",1) - 1)),".",1) - 1)
    

    Esta expresión primero extrae el apellido del archivo (después del último guión bajo) utilizando la expresión original, y luego aplica otra función RIGHT a este. La función RIGHT anidada extrae únicamente los caracteres antes del punto que marca la extensión del archivo.

    Esta expresión modificada debería darte el resultado deseado: solo el apellido del archivo sin la extensión del archivo.

Comments are closed.