Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

diferencias de dias

Estas en el tema de diferencias de dias en el foro de SQL Server en Foros del Web. Hola necesito la siguiente consulta: tengo una tabla calendario. y tego una talbla valores. calendario teiene dfecha, diasfestivos. y valor tiene valor, id, mascara. donde ...
  #1 (permalink)  
Antiguo 23/05/2011, 07:12
Avatar de cesarcaes  
Fecha de Ingreso: marzo-2010
Mensajes: 57
Antigüedad: 14 años, 1 mes
Puntos: 1
diferencias de dias

Hola necesito la siguiente consulta:
tengo una tabla calendario. y tego una talbla valores.
calendario teiene

dfecha, diasfestivos.

y valor tiene

valor, id, mascara.

donde el campo valor de la tabla VALOR es de tipo fecha.
necesito mostrar los dias feriados que hay entre dos fechas. cuando los valores de las fechas estan el la tabla valor.

ejecuto la siguiente sentecia:

SELECT SWNOMFIE.DES_FIE, SWNOMFIE.DFECHA,
SWNOMFIE.DIAFIESTA,
case when DFECHA >= '01/01/2011' AND DFECHA <= '31/01/2011' then SUM(DIAFIESTA) else 0 end case_when_DFECHA_AND_DFEC
FROM SWNOMMSSQL.dbo.SWNOMFIE SWNOMFIE
GROUP BY SWNOMFIE.DES_FIE, SWNOMFIE.DFECHA,
SWNOMFIE.DIAFIESTA

swnomfie es calendario
swnompca es valor
y no me muestra los dias feriados entre las fechas.
  #2 (permalink)  
Antiguo 23/05/2011, 07:39
Avatar de cesarcaes  
Fecha de Ingreso: marzo-2010
Mensajes: 57
Antigüedad: 14 años, 1 mes
Puntos: 1
Respuesta: diferencias de dias

SELECT SWNOMPER.APENOM, SWNOMPER.CEDULA,
SWNOMPER.CODCARGO, SWNOMPER.CODCAT,
SWNOMPER.CODDEP, SWNOMPER.CODDIR,
SWNOMPER.CODGER, SWNOMPER.CODIDI,
SWNOMPER.CODPRO, SWNOMPER.CODSUC,
SWNOMPER.CODVP, SWNOMPER.CONTRATO,
SWNOMPER.DFECFIN, SWNOMPER.DFECHAPLICA,
SWNOMPER.DFECHAREISUS,
SWNOMPER.DFECHAREIVAC,
SWNOMPER.DFECHARETIRO, SWNOMPER.DFECHASUS,
SWNOMPER.DFECHAVAC, SWNOMPER.DFECING,
SWNOMPER.DFECNAC, SWNOMPER.DIASCONTRATO,
SWNOMPER.DIRECCION, SWNOMPER.ESTADO,
SWNOMPER.FICHA, SWNOMPER.MONTOINT,
SWNOMPER.MONTOLIQ, SWNOMPER.MONTOVOL,
SWNOMPER.NOMBRES, SWNOMPER.PERIODO,
SWNOMPER.SUELDOPRO, SWNOMPER.SUESAL,
SWNOMPER.TIPEMP, SWNOMPER.TIPNOM,
SWNOMPER.TIPOPRES, SWNOMPER.VEHICULO,
SWNOMPER.ZONAPOS, SWNOMPCA.CODORGD,
SWNOMPCA.CODORGH, SWNOMPCA.FICHA FICHA_2,
SWNOMPCA.ID, SWNOMPCA.MASCARA,
SWNOMPCA.TIPO, SWNOMPCA.VALOR,
SWNOMFIE.DES_FIE, SWNOMFIE.DFECHA,
SWNOMFIE.DIAFIESTA, SWNOMPCA_2.ID ID_2,
SWNOMPCA_2.MASCARA MASCARA_2,
SWNOMPCA_2.TIPO TIPO_2,
SWNOMPCA_2.VALOR VALOR_2,
SWNOMPCA_2.FICHA FICHA_3, SWNOMPER.AHORRO,
SWNOMPER.APELLIDOS, SWNOMPER.APLICALOGRO,
SWNOMPER.APLICASUSPENSION,
SWNOMPER.AREAINTERES, SWNOMPER.COD_TLI,
SWNOMPER.CODAREATEL, SWNOMPER.CODAREATEL1,
SWNOMPER.CODAREATEL2, SWNOMPER.CODBANCOB,
SWNOMPER.CODBANLPH, SWNOMPER.CTACONTAB,
SWNOMPER.CUENTACOB, SWNOMPER.CUENTALPH,
SWNOMPER.DOC_FISCAL, SWNOMPER.EDOCIVIL,
SWNOMPER.EMAIL, SWNOMPER.FORCOB,
SWNOMPER.FOTO, SWNOMPER.LICENCIACOND,
SWNOMPER.LUGARNAC, SWNOMPER.MONTOEMP,
SWNOMPER.NACIONALIDAD,
SWNOMPER.NOMBREEGEO1,
SWNOMPER.NOMBREEGEO2,
SWNOMPER.NOMBREEGEO3,
SWNOMPER.NROCUADRILLA, SWNOMPER.NROHIJOS,
SWNOMPER.PORCENTAJEEMP,
SWNOMPER.PORCENTAJEINT,
SWNOMPER.PORCENTAJEVOL,
SWNOMPER.RESUMEN_CONOC,
SWNOMPER.RESUMEN_ESPECIAL,
SWNOMPER.RESUMEN_EXPERI,
SWNOMPER.RESUMEN_NIVELACA, SWNOMPER.SEXO,
SWNOMPER.TELEFONOS, SWNOMPER.TELEFONOS1,
SWNOMPER.TELEFONOS2,
SWNOMPER.TIPAPORTEEMP,
SWNOMPER.TIPAPORTEINT,
SWNOMPER.TIPAPORTEVOL,
SWNOMPCA_2.CODORGD CODORGD_2,
SWNOMPCA_2.CODORGH CODORGH_2,
case when swnomper.ficha <>'' then datediff(DAY,swnomper.dfecing , CURRENT_TIMESTAMP)/365 else 0 end case_when_swnomper_ficha,
case when swnompca_2.id = 141 then swnompca_2.valor else 0 end case_when_swnompca_2_id_1,
case when swnompca.id = 142 then swnompca.valor else 0 end case_when_swnompca_id_142,
case when DFECHA >= '01/01/2004' AND DFECHA <= '10/01/2004' then SUM(DIAFIESTA) else 0 end case_when_DFECHA_AND_DFEC
FROM SWNOMMSSQL000020.dbo.SWNOMPER SWNOMPER
INNER JOIN SWNOMMSSQL000020.dbo.SWNOMPCA SWNOMPCA ON
(SWNOMPCA.FICHA = SWNOMPER.FICHA)
INNER JOIN SWNOMMSSQL.dbo.SWNOMFIE SWNOMFIE ON
(SWNOMFIE.DES_FIE = SWNOMPCA.VALOR)
INNER JOIN SWNOMMSSQL000020.dbo.SWNOMPCA SWNOMPCA_2 ON
(SWNOMPCA_2.VALOR = SWNOMFIE.DIAFIESTA)
WHERE
( SUBSTRING(CONVERT(VARCHAR,SWNOMPER.DFECHAVAC,120), 1,10) <> SUBSTRING(CONVERT(VARCHAR,'1899-12-30',120),1,10) )
AND ( SWNOMPER.ESTADO = 'Activo' )
AND ( SWNOMPCA_2.ID = 141 )
AND ( SWNOMPCA.ID = 142 )
GROUP BY SWNOMPER.APENOM, SWNOMPER.CEDULA,
SWNOMPER.CODCARGO, SWNOMPER.CODCAT,
SWNOMPER.CODDEP, SWNOMPER.CODDIR,
SWNOMPER.CODGER, SWNOMPER.CODIDI,
SWNOMPER.CODPRO, SWNOMPER.CODSUC,
SWNOMPER.CODVP, SWNOMPER.CONTRATO,
SWNOMPER.DFECFIN, SWNOMPER.DFECHAPLICA,
SWNOMPER.DFECHAREISUS,
SWNOMPER.DFECHAREIVAC,
SWNOMPER.DFECHARETIRO,
SWNOMPER.DFECHASUS, SWNOMPER.DFECHAVAC,
SWNOMPER.DFECING, SWNOMPER.DFECNAC,
SWNOMPER.DIASCONTRATO,
SWNOMPER.DIRECCION, SWNOMPER.ESTADO,
SWNOMPER.FICHA, SWNOMPER.MONTOINT,
SWNOMPER.MONTOLIQ, SWNOMPER.MONTOVOL,
SWNOMPER.NOMBRES, SWNOMPER.PERIODO,
SWNOMPER.SUELDOPRO, SWNOMPER.SUESAL,
SWNOMPER.TIPEMP, SWNOMPER.TIPNOM,
SWNOMPER.TIPOPRES, SWNOMPER.VEHICULO,
SWNOMPER.ZONAPOS, SWNOMPCA.CODORGD,
SWNOMPCA.CODORGH, SWNOMPCA.FICHA,
SWNOMPCA.ID, SWNOMPCA.MASCARA,
SWNOMPCA.TIPO, SWNOMPCA.VALOR,
SWNOMFIE.DES_FIE, SWNOMFIE.DFECHA,
SWNOMFIE.DIAFIESTA, SWNOMPCA_2.ID,
SWNOMPCA_2.MASCARA, SWNOMPCA_2.TIPO,
SWNOMPCA_2.VALOR, SWNOMPCA_2.FICHA,
SWNOMPER.AHORRO, SWNOMPER.APELLIDOS,
SWNOMPER.APLICALOGRO,
SWNOMPER.APLICASUSPENSION,
SWNOMPER.AREAINTERES, SWNOMPER.COD_TLI,
SWNOMPER.CODAREATEL,
SWNOMPER.CODAREATEL1,
SWNOMPER.CODAREATEL2,
SWNOMPER.CODBANCOB, SWNOMPER.CODBANLPH,
SWNOMPER.CTACONTAB, SWNOMPER.CUENTACOB,
SWNOMPER.CUENTALPH, SWNOMPER.DOC_FISCAL,
SWNOMPER.EDOCIVIL, SWNOMPER.EMAIL,
SWNOMPER.FORCOB, SWNOMPER.FOTO,
SWNOMPER.LICENCIACOND,
SWNOMPER.LUGARNAC, SWNOMPER.MONTOEMP,
SWNOMPER.NACIONALIDAD,
SWNOMPER.NOMBREEGEO1,
SWNOMPER.NOMBREEGEO2,
SWNOMPER.NOMBREEGEO3,
SWNOMPER.NROCUADRILLA,
SWNOMPER.NROHIJOS,
SWNOMPER.PORCENTAJEEMP,
SWNOMPER.PORCENTAJEINT,
SWNOMPER.PORCENTAJEVOL,
SWNOMPER.RESUMEN_CONOC,
SWNOMPER.RESUMEN_ESPECIAL,
SWNOMPER.RESUMEN_EXPERI,
SWNOMPER.RESUMEN_NIVELACA,
SWNOMPER.SEXO, SWNOMPER.TELEFONOS,
SWNOMPER.TELEFONOS1,
SWNOMPER.TELEFONOS2,
SWNOMPER.TIPAPORTEEMP,
SWNOMPER.TIPAPORTEINT,
SWNOMPER.TIPAPORTEVOL,
SWNOMPCA_2.CODORGD, SWNOMPCA_2.CODORGH
ORDER BY SWNOMPER.AHORRO, SWNOMPER.APELLIDOS,
SWNOMPER.APENOM, SWNOMPER.APLICALOGRO,
SWNOMPER.APLICASUSPENSION,
SWNOMPER.AREAINTERES, SWNOMPER.CEDULA,
SWNOMPER.COD_TLI, SWNOMPER.CODAREATEL,
SWNOMPER.CODAREATEL1,
SWNOMPER.CODAREATEL2,
SWNOMPER.CODBANCOB, SWNOMPER.CODBANLPH,
SWNOMPER.CODCARGO, SWNOMPER.CODCAT,
SWNOMPER.CODDEP, SWNOMPER.CODDIR,
SWNOMPER.CODGER, SWNOMPER.CODIDI,
SWNOMPER.CODPRO


estoy con esta sentencia y me dice lo siguiente:

Mens. 245, Nivel 16, Estado 1, Línea 1
Error de conversión al convertir el valor varchar '01/02/2011' al tipo de datos tinyint.



por favor alguien quien me ayude
  #3 (permalink)  
Antiguo 24/05/2011, 16:02
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: diferencias de dias

Las fechas, deben manejarse en formato ANSI (yyyy-mm-dd) y no, claro que NO puedes convertir un dato char a un tinyint.
__________________
MCTS Isaias Islas

Etiquetas: dias, diferencias
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:26.