Skip to Content

Buenos Días Consultores

Si me pueden colaborar con la siguiente funciones, necesito recuperar información entre campos de fechas

1. El tiempo transcurrido entre el campo de fecha de contabilización (T0.[DocDate]) y el campo de fecha de pago (T0.[U_FPresen]) utilize la siguiente función

DATEDIFF(day,T0.[DocDate],T0.[U_FPresen] ) AS ‘Duration’ , pero si no tengo ningún valor en el campo de fecha de pago debe recuperarme la cantidad de días hasta la fecha de hoy.

2. El tiempo transcurrido entre el campo de fecha de contabilización (T0.[DocDate]) y el campo de fecha de entrega (T0.[U_FEnt]) utilize la siguiente función

SELECT T0.[DocDate], T0.[U_FEnt],

CASE 

        WHEN (DATEDIFF (day, T0.[DocDate],ISNULL(T0.[U_FEnt])))

         ELSE 

                  THEN ‘No Entregada’

END ‘Fecha’

pero si no tengo ningún valor en el campo de fecha de entrega debe decir ” No Entregada”.

Agradezco mucho por su cooperación.

Saludos

Carlos Ortega

To report this post you need to login first.

5 Comments

You must be Logged on to comment or reply to a post.

  1. Francisco Calderón

    Estimado, prueba con la siguiente:

    SELECT T0.[DocDate], T0.[U_FPresen],

    CASE 

            WHEN T0.[U_FPresen] IS NULL THEN DATEDIFF(day,T0.[DocDate],GETDATE())

            ELSE DATEDIFF(day,T0.[DocDate],T0.[U_FPresen])

    END ‘Dias’

    FROM ORCT T0

    Slds.

    (0) 
  2. Francisco Calderón

    Para el segundo punto prueba lo siguiente:

    SELECT T0.[DocDate], T0.[U_FEnt],

    CASE 

            WHEN T0.[U_FEnt] IS NULL THEN ‘No Entregada’

            ELSE DATEDIFF(day,T0.[DocDate],T0.[U_FEnt])

    END ‘Dias’

    FROM ORCT T0

    Slds.

    (0) 
  3. Carlos Ortega Post author

    Gracias Francisco por su colaboración este esta es la sentencia que arme de acuerdo al aporte :

    SELECT T0.[DocDate], T0.[U_FEnt],

    CASE 

            WHEN T0.[U_FEnt] IS NULL THEN ‘No Entregada’

            ELSE DATEDIFF(day,T0.[DocDate],T0.[U_FEnt])

    END ‘Dias’

    FROM OINV T0 WHERE T0.[DocNum] =’216222′

    Pero al momento de ejecutarla me envia el siguiente mensaje :

    Conversion failed when converting the varchar value ‘No Entregada’ to data type int.

    Saludos

    Carlos Ortega

    (0) 
    1. Francisco Calderón

      Intenta con lo siguiente:

      SELECT T0.[DocDate], T0.[U_FEnt],

      CASE 

              WHEN T0.[U_FEnt] IS NULL THEN ‘No Entregada’

              ELSE CONVERT(NVARCHAR(4),DATEDIFF(day,T0.[DocDate],T0.[U_FEnt]))

      END ‘Dias’

      FROM OINV T0 WHERE T0.[DocNum] =’216222′

      (0) 

Leave a Reply