CONVERT

28/06/2006 - 15:52 por David Baez | Informe spam
De antemano muchas gracias.

Es que las sentencias son de un proveedor y necesitábamos mas información
que nos ayudara a darle una respuesta ya que el proveedor tenia la duda o
quería saber por que en algunas ocasiones realiza por el CONVERT por el campo
de comparación y en otras ocasiones realiza el CONVERT sobre la variable.

Cabe de aclarar que son sentencias diferentes cuando el plan de ejecución
realiza el CONVERT por el campo y el CONVERT por la variable.

De todas formas ya le recomendamos al proveedor que modifique las variables
de entrada y que sean del mismo tipo.

Esta realiza el convert por el CAMPO

exec sp_executesql N'SELECT
COF_CONC,COF_CTEC,COF_CLIB,COF_CSEC,COF_CPRC,ITE_CONT,COF_CONT FROM
IN_COFIN,IN_UBICA
WHERE IN_COFIN.EMP_CODI = @P1
AND IN_COFIN.INS_CONT = @P2
AND IN_COFIN.BOD_CODI = @P3
AND COF_CONC <> 0
AND (((COF_CONC = 3 AND COF_INRE = ''T''))
OR COF_CONC >= 0)
AND COF_INRE <> ''J''
AND IN_COFIN.EMP_CODI = IN_UBICA.EMP_CODI
AND IN_COFIN.UBI_CONT = IN_UBICA.UBI_CONT
AND IN_UBICA.TRU_CONT =@P4', N'@P1 money,@P2 money,@P3 money,@P4 money',
$26.0000, $1.0000, $1.0000, $900.0000

Esta realiza el convert por la variable

exec sp_executesql N'SELECT
PE_MDPED.EMP_CODI,PE_MDPED.MDP_CONT,PE_MDPED.PED_CONT,PE_MDPED.PRO_CONT,PE_MDPED.PRO_SUST,PE_MDPED.BOD_CONT,PE_MDPED.LIP_CONT,PE_MDPED.UNI_CODI,PE_MDPED.MDP_CANT,PE_MDPED.MDP_PRLI,

PE_MDPED.MDP_VALO,PE_MDPED.MDP_PRMA,PE_MDPED.MDP_TIDE,PE_MDPED.MDP_PVDE,PE_MDPED.MDP_VADE,PE_MDPED.MDP_DEPP,PE_MDPED.MDP_DESC,PE_MDPED.MDP_CPIK,PE_MDPED.MDP_CCON,PE_MDPED.MDP_CDES,

PE_MDPED.MDP_CFAC,PE_MDPED.MDP_PROM,PE_MDPED.MDP_BONI,PE_MDPED.MDP_ESTA,PE_MDPED.MDP_ORDC,

PE_PEDIM.INS_CONT,PE_PEDIM.TOP_CODI,PE_PEDIM.ACT_CONT,PE_PEDIM.MON_CODI,FA_CLIEN.TCL_CODI,PE_PEDIM.UNN_CONT,PE_PEDIM.CLI_CODI,PE_PEDIM.DCL_CODD,PE_PEDIM.PED_FECH,PE_PEDIM.PED_FECH,IN_PRODU.PRO_CODI,IN_BODEG.BOD_CODI,IN_PRODU.PRO_CLNG,

FA_CLIEN.CLI_PRIO,FA_CLIEN.CLI_SUIT,FA_CLIEN.CLI_MULT,FA_CLIEN.CLI_DIAL,FA_CLIEN.CLI_DVIG,FA_CLIEN.CLI_PLIN,FA_CLIEN.CLI_FPEC,FA_CLIEN.BOD_DEST,
PE_PEDIM.PED_NUME,FA_CLIEN.CLI_BACK
FROM PE_MDPED,PE_PEDIM,IN_PRODU,IN_BODEG,PE_CLASE,FA_CLIEN,PE_MTIPO
WHERE PE_MDPED.EMP_CODI = PE_PEDIM.EMP_CODI
AND PE_MDPED.PED_CONT = PE_PEDIM.PED_CONT
AND PE_MDPED.EMP_CODI = IN_PRODU.EMP_CODI
AND PE_MDPED.PRO_CONT = IN_PRODU.PRO_CONT
AND PE_MDPED.EMP_CODI = IN_BODEG.EMP_CODI
AND PE_MDPED.BOD_CONT = IN_BODEG.BOD_CONT
AND PE_PEDIM.EMP_CODI = PE_CLASE.EMP_CODI
AND PE_PEDIM.CLA_CONT = PE_CLASE.CLA_CONT
AND PE_PEDIM.EMP_CODI = FA_CLIEN.EMP_CODI
AND PE_PEDIM.CLI_CODI = FA_CLIEN.CLI_CODI
AND PE_PEDIM.EMP_CODI = PE_MTIPO.EMP_CODI
AND PE_PEDIM.MTI_CONT = PE_MTIPO.MTI_CONT
AND PE_CLASE.CLA_PIKI = ''S''
AND PE_MTIPO.MTI_SALD = ''S''
AND PE_MDPED.MDP_BONI = ''N''
AND PE_MDPED.PRO_CONT <> 0
AND (PE_MDPED.MDP_ESTA = ''G'')
AND PE_PEDIM.EMP_CODI = @P1
AND PE_PEDIM.PED_NUME BETWEEN @P2 AND @P3
ORDER BY FA_CLIEN.CLI_PRIO,PE_PEDIM.PED_CONT,PE_PEDIM.PED_FECH', N'@P1
money,@P2 money,@P3 money', $94.0000, $8288.0000, $8288.0000
 

Leer las respuestas

#1 David Baez
28/06/2006 - 16:01 | Informe spam
Buenos Dias

A esta pregunta ya me respondieron, muchas gracias.

"David Baez" escribió:

De antemano muchas gracias.

Es que las sentencias son de un proveedor y necesitábamos mas información
que nos ayudara a darle una respuesta ya que el proveedor tenia la duda o
quería saber por que en algunas ocasiones realiza por el CONVERT por el campo
de comparación y en otras ocasiones realiza el CONVERT sobre la variable.

Cabe de aclarar que son sentencias diferentes cuando el plan de ejecución
realiza el CONVERT por el campo y el CONVERT por la variable.

De todas formas ya le recomendamos al proveedor que modifique las variables
de entrada y que sean del mismo tipo.

Esta realiza el convert por el CAMPO

exec sp_executesql N'SELECT
COF_CONC,COF_CTEC,COF_CLIB,COF_CSEC,COF_CPRC,ITE_CONT,COF_CONT FROM
IN_COFIN,IN_UBICA
WHERE IN_COFIN.EMP_CODI = @P1
AND IN_COFIN.INS_CONT = @P2
AND IN_COFIN.BOD_CODI = @P3
AND COF_CONC <> 0
AND (((COF_CONC = 3 AND COF_INRE = ''T''))
OR COF_CONC >= 0)
AND COF_INRE <> ''J''
AND IN_COFIN.EMP_CODI = IN_UBICA.EMP_CODI
AND IN_COFIN.UBI_CONT = IN_UBICA.UBI_CONT
AND IN_UBICA.TRU_CONT =@P4', N'@P1 money,@P2 money,@P3 money,@P4 money',
$26.0000, $1.0000, $1.0000, $900.0000

Esta realiza el convert por la variable

exec sp_executesql N'SELECT
PE_MDPED.EMP_CODI,PE_MDPED.MDP_CONT,PE_MDPED.PED_CONT,PE_MDPED.PRO_CONT,PE_MDPED.PRO_SUST,PE_MDPED.BOD_CONT,PE_MDPED.LIP_CONT,PE_MDPED.UNI_CODI,PE_MDPED.MDP_CANT,PE_MDPED.MDP_PRLI,

PE_MDPED.MDP_VALO,PE_MDPED.MDP_PRMA,PE_MDPED.MDP_TIDE,PE_MDPED.MDP_PVDE,PE_MDPED.MDP_VADE,PE_MDPED.MDP_DEPP,PE_MDPED.MDP_DESC,PE_MDPED.MDP_CPIK,PE_MDPED.MDP_CCON,PE_MDPED.MDP_CDES,

PE_MDPED.MDP_CFAC,PE_MDPED.MDP_PROM,PE_MDPED.MDP_BONI,PE_MDPED.MDP_ESTA,PE_MDPED.MDP_ORDC,

PE_PEDIM.INS_CONT,PE_PEDIM.TOP_CODI,PE_PEDIM.ACT_CONT,PE_PEDIM.MON_CODI,FA_CLIEN.TCL_CODI,PE_PEDIM.UNN_CONT,PE_PEDIM.CLI_CODI,PE_PEDIM.DCL_CODD,PE_PEDIM.PED_FECH,PE_PEDIM.PED_FECH,IN_PRODU.PRO_CODI,IN_BODEG.BOD_CODI,IN_PRODU.PRO_CLNG,

FA_CLIEN.CLI_PRIO,FA_CLIEN.CLI_SUIT,FA_CLIEN.CLI_MULT,FA_CLIEN.CLI_DIAL,FA_CLIEN.CLI_DVIG,FA_CLIEN.CLI_PLIN,FA_CLIEN.CLI_FPEC,FA_CLIEN.BOD_DEST,
PE_PEDIM.PED_NUME,FA_CLIEN.CLI_BACK
FROM PE_MDPED,PE_PEDIM,IN_PRODU,IN_BODEG,PE_CLASE,FA_CLIEN,PE_MTIPO
WHERE PE_MDPED.EMP_CODI = PE_PEDIM.EMP_CODI
AND PE_MDPED.PED_CONT = PE_PEDIM.PED_CONT
AND PE_MDPED.EMP_CODI = IN_PRODU.EMP_CODI
AND PE_MDPED.PRO_CONT = IN_PRODU.PRO_CONT
AND PE_MDPED.EMP_CODI = IN_BODEG.EMP_CODI
AND PE_MDPED.BOD_CONT = IN_BODEG.BOD_CONT
AND PE_PEDIM.EMP_CODI = PE_CLASE.EMP_CODI
AND PE_PEDIM.CLA_CONT = PE_CLASE.CLA_CONT
AND PE_PEDIM.EMP_CODI = FA_CLIEN.EMP_CODI
AND PE_PEDIM.CLI_CODI = FA_CLIEN.CLI_CODI
AND PE_PEDIM.EMP_CODI = PE_MTIPO.EMP_CODI
AND PE_PEDIM.MTI_CONT = PE_MTIPO.MTI_CONT
AND PE_CLASE.CLA_PIKI = ''S''
AND PE_MTIPO.MTI_SALD = ''S''
AND PE_MDPED.MDP_BONI = ''N''
AND PE_MDPED.PRO_CONT <> 0
AND (PE_MDPED.MDP_ESTA = ''G'')
AND PE_PEDIM.EMP_CODI = @P1
AND PE_PEDIM.PED_NUME BETWEEN @P2 AND @P3
ORDER BY FA_CLIEN.CLI_PRIO,PE_PEDIM.PED_CONT,PE_PEDIM.PED_FECH', N'@P1
money,@P2 money,@P3 money', $94.0000, $8288.0000, $8288.0000



Preguntas similares