VARCHAR a DATETIME
Publicado por Carlos Reyes (49 intervenciones) el 22/06/2007 21:20:47
Hola, veran ya ando un poco perdido el dia de hoy y la verdad no se que este omitiendo; tengo estos 2 queries, el primero me marca un error de conversion, pero si ese lo migro a cadena y utilizo un exec funciona sin problemas.
Query 1 que no funciona:
SELECT @strQuery= 'SELECT R.aREM_Ref, R.aREM_Concepto,
cEMP_Formulo,R.cEMP_Autorizo,
MB.cEMP_Autorizo AS cEMP_Tesoreria,
MB.cMON_Id, MB.aMBAN_Monto,
MB.aORDREM_Id
FROM aMBAN_MovBancos MB
INNER JOIN aREM_Remesas R
ON MB.aORDREM_Id = R.aREM_Id
AND R.aREM_FecReg = CONVERT(DATETIME,'''''+@strFecReg+''''')
AND R.cTORG_Id = '+@intTipoCia+'
AND R.cCIA_Id = '+@intCiaId+'
AND R.cCIA_Ver = '+@intCiaVer+'
AND MB.cBAN_Id = '+@intBanId+'
AND MB.cCBAN_NoCuenta = '''''+@strBanCta+'''''
AND MB.aMBAN_FechaPago = CONVERT(DATETIME,'''''+@strFecDep+''''')
AND MB.aMBAN_TipoMov = 2'
EXEC(@strQuery)
Query 2(Si funciona):
EXEC('SELECT R.aREM_Ref, R.aREM_Concepto, cEMP_Formulo,
R.cEMP_Autorizo, MB.cEMP_Autorizo AS cEMP_Tesoreria, MB.cMON_Id, MB.aMBAN_Monto,
MB.aORDREM_Id
FROM aMBAN_MovBancos MB
INNER JOIN aREM_Remesas R
ON MB.aORDREM_Id = R.aREM_Id
AND R.aREM_FecReg = CONVERT(DATETIME,''22/06/2007'')
AND R.cTORG_Id = 1
AND R.cCIA_Id = 1
AND R.cCIA_Ver = 0
AND MB.cBAN_Id = 5
AND MB.cCBAN_NoCuenta = ''012346548156''
AND MB.aMBAN_FechaPago = CONVERT(DATETIME,''22/06/2007'')
AND MB.aMBAN_TipoMov = 2')
Lo que no entiendo es por que me marca el error de conversion si lo que mando en el primer query convertido a cadena da exactamente el mismo resultado, alguna idea???
strFecDep y strFecReg son variables de tipo varchar; ya intente incrementando el tamaño pero no se corrige
Carlos Reyes
Query 1 que no funciona:
SELECT @strQuery= 'SELECT R.aREM_Ref, R.aREM_Concepto,
cEMP_Formulo,R.cEMP_Autorizo,
MB.cEMP_Autorizo AS cEMP_Tesoreria,
MB.cMON_Id, MB.aMBAN_Monto,
MB.aORDREM_Id
FROM aMBAN_MovBancos MB
INNER JOIN aREM_Remesas R
ON MB.aORDREM_Id = R.aREM_Id
AND R.aREM_FecReg = CONVERT(DATETIME,'''''+@strFecReg+''''')
AND R.cTORG_Id = '+@intTipoCia+'
AND R.cCIA_Id = '+@intCiaId+'
AND R.cCIA_Ver = '+@intCiaVer+'
AND MB.cBAN_Id = '+@intBanId+'
AND MB.cCBAN_NoCuenta = '''''+@strBanCta+'''''
AND MB.aMBAN_FechaPago = CONVERT(DATETIME,'''''+@strFecDep+''''')
AND MB.aMBAN_TipoMov = 2'
EXEC(@strQuery)
Query 2(Si funciona):
EXEC('SELECT R.aREM_Ref, R.aREM_Concepto, cEMP_Formulo,
R.cEMP_Autorizo, MB.cEMP_Autorizo AS cEMP_Tesoreria, MB.cMON_Id, MB.aMBAN_Monto,
MB.aORDREM_Id
FROM aMBAN_MovBancos MB
INNER JOIN aREM_Remesas R
ON MB.aORDREM_Id = R.aREM_Id
AND R.aREM_FecReg = CONVERT(DATETIME,''22/06/2007'')
AND R.cTORG_Id = 1
AND R.cCIA_Id = 1
AND R.cCIA_Ver = 0
AND MB.cBAN_Id = 5
AND MB.cCBAN_NoCuenta = ''012346548156''
AND MB.aMBAN_FechaPago = CONVERT(DATETIME,''22/06/2007'')
AND MB.aMBAN_TipoMov = 2')
Lo que no entiendo es por que me marca el error de conversion si lo que mando en el primer query convertido a cadena da exactamente el mismo resultado, alguna idea???
strFecDep y strFecReg son variables de tipo varchar; ya intente incrementando el tamaño pero no se corrige
Carlos Reyes
Valora esta pregunta


0