Agregar un número a una fecha y hora para obtener una nueva fecha SQL

Agregar un número a una fecha y hora para obtener una nueva fecha SQL Server

Estoy tratando de obtener la consulta a continuación para asignar un valor numérico a la columna 'TIEMPO DE TRÁNSITO DESEADO' según el valor de esa columna: 10 si comienza con A y 5 si comienza con C. A partir de ahí quiero para agregar ese número a REVISED_EX_FACTORY para obtener uno nuevo de fábrica. Nunca he intentado esto y al usar la consulta a continuación obtengo el resultado, que es la fecha más el texto 'TIEMPO DE TRÁNSITO DESEADO', que tiene sentido ya que es una cadena. ¿Cómo puedo obtener el valor de la columna en lugar del nombre textual de la columna en la línea 20? Me dijeron que convertir los valores de datetime para deshacerse del componente de tiempo era una buena manera de hacerlo.

El resultado ideal sería agregar 5 o 10 días a la fecha dependiendo del valor en 'TIEMPO DE TRÁNSITO DESEADO'

SQL:

USE PDX_SAP_USER

GO 

SELECT E.team_member_name [EMPLOYEE], 
       K.business_segment_desc [BUSINESS SEGMENT],
       G.order_status [GPS ORDER STATUS],
       H.po_type [PO TYPE],
       G.order_no [GPS ORDER NO],
       I.po_number [SAP PO NUMBER],
       I.shipping_instruct [SAP SHIP MODE],
       G.shipping_type [GPS SHIP MODE], 
       CASE 
            WHEN I.shipping_instruct LIKE 'A%'
            THEN '10'
            WHEN I.shipping_instruct LIKE 'C%'
            THEN '5'
       END  [DESIRED TRANSIT TIME], 
       CONVERT(VARCHAR(12),I.revised_ex_factory,101) [LAST CONFIRMED DATE ], 
       CONVERT(VARCHAR(12),I.revised_ex_factory,101) + 'DESIRED TRANSIT TIME' AS 'PROPOSED ETA',
       CONVERT(VARCHAR(12),S.po_estimated_deliv_date,101) [CURRENT DELIV DATE], 
      -- 'days_diff'
       I.material [MATERIAL],
       M.description [DESCRIPTION],
       I.stock_category [STOCK CATEGORY],
       I.po_ordered_quantity [PO ORDERED QUANTITY],
       I.po_recvd_quantity [PO RECVD QUANTITY],
       I.po_balance_quantity [PO BALANCE QUANTITY], 
       I.po_intransit_quantity [PO INTRANSIT QUANTITY], 
       I.plant_code [PLANT], 
       I.direct_ship_code [DS CODE],   
       I.comment [COMMENT]


FROM   (SELECT    order_no,
                  order_status, 
                  shipping_type

FROM asagdwpdx_prod.dbo.SimoxOrder1

UNION ALL

SELECT            order_no,
                  order_status, 
                  shipping_type

FROM asagdwpdx_prod.dbo.SimoxOrder2

UNION ALL 

SELECT            order_no,
                  order_status, 
                  shipping_type

FROM asagdwpdx_prod.dbo.SimoxOrder3) G 

JOIN   pdx_sap_user..vw_po_header H ON G.order_no = H.ahag_number
JOIN   pdx_sap_user..vw_po_item I ON H.po_number = I.po_number 
JOIN   pdx_sap_user..vw_po_size S ON I.po_number = S.po_number 
AND    I.po_item_number = S.po_item_number 
JOIN   pdx_sap_user..vw_mm_material M ON I.material = M.material 
JOIN   pdx_sap_user..vw_kd_business_segment K ON M.business_segment_code = K.business_segment_code
JOIN   adi_user_maintained..scm_po_employee_name E ON I.po_number = E.po_number 


WHERE  I.po_balance_quantity > 0 
AND    I.del_indicator NOT IN ('L','S')
AND    H.PO_TYPE NOT IN ('01','UB')
AND    I.shipping_instruct IN ('A1','A2','A5','C1','C2','C3')

RESULTADO DE LA MUESTRA:

04/30/2016DESIRED TRANSIT TIME 
Mostrar la mejor respuesta

Entonces, ¿quieres que devuelva "04/30/2016DESIRED TRANSIT TIME"? ¿Qué está devolviendo actualmente?

disculpas por cualquier confusión, eso es lo que actualmente está trayendo de vuelta literalmente, en este caso, la función CASE devuelve el valor 5, por lo tanto, me gustaría que el cálculo regresara el 04/05/2016, ¿eso ayuda?

Así que tienes dos opciones. La primera es duplicar la instrucción CASE que tiene por segunda vez y concatenarla con la fecha. Probablemente sea lo más sencillo, aunque terminará duplicando ese código. Es una pequeña duplicación, pero no obstante. Si eso le molesta, o necesita usarlo también en otra parte de su consulta, deberá envolver todo en una subconsulta para que pueda hacer referencia a la instrucción case como si fuera una columna distinta. por ejemplo

select
    ...
    DesiredTransitTime = 
        case
            when I.shipping_instruct LIKE 'A%'
            then '10'
            when I.shipping_instruct LIKE 'C%'
            then '5'
        end,
    ProposedETA = convert(varchar(12),I.revised_ex_factory,101) +
        case
            when I.shipping_instruct LIKE 'A%'
            then '10'
            when I.shipping_instruct LIKE 'C%'
            then '5'
        end
    ...

o

select 
    [DESIRED TRANSIT TIME],
    [PROPOSED ETA = StringDate + [DESIRED TRANSIT TIME]
    ...
from 
(
    select 
        StringDate = convert(varchar(12), I.revised_ex_factory,101) ,
        [DESIRED TRANSIT TIME] = 
            case
                when I.shipping_instruct LIKE 'A%'
                then '10'
                when I.shipping_instruct LIKE 'C%'
                then '5'
            end,
    ...
) a