SQL Server - AYUDA CON UN SP

 
Vista:
sin imagen de perfil

AYUDA CON UN SP

Publicado por matias (2 intervenciones) el 06/10/2017 17:32:52
hola buenas tengo esta sp pero me manda este error
Msg 8114, Level 16, State 5, Procedure Sp_Impr, Line 11
Error al convertir el tipo de datos varchar a numeric.

no se que puede ser ayuda por favor
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
--EXEC Sp_Impr 0,60
ALTER procedure Sp_Impr
@TIP_PGO  SMALLINT,
@NRO_PGO  INTEGER
AS
 
 
begin
 
	select
	      P1.PAR_COD_AUX TIP_DOC,
          ADO_RUT_CLI AS RUT_CLI,
          CLI_RAZ_SOC AS NOM_CLI,
	      ADO_OPE_OTO AS NUMERO_OPE,
	      ADO_NUM_FAC AS NUM_FAC,
	      RTRIM(REPLACE(REPLACE( CONVERT (VARCHAR(15),CAST( ROUND( ADO_ABO_DCT,0 ) AS MONEY )   , 102),'.00',''),',','.')) PAGO_DOCTO,
	      ADO_ABO_DCT AS MTO_PGDO,
	      ADO_INT_MOR AS INT_MORA
 
	FROM ADO
	INNER JOIN CLI ON CLI_RUT_CLI = ADO_RUT_CLI
	LEFT JOIN PAR  P1 ON P1.PAR_COD_TAB = 31 AND ADO_TIP_DOC = P1.PAR_COD_PAR
	WHERE ADO_TIP_PGO = @TIP_PGO
	AND ADO_NRO_UNI = @NRO_PGO
 
UNION
 
	SELECT
	     'CXC',
		 '',
		 CXC_DES_CXC,
		 '',
		 ACC_NUM_CTA AS NUM_FAC,
		 RTRIM(REPLACE(REPLACE( CONVERT (VARCHAR(15),CAST( ROUND( ACC_ABO_CXC  ,0 ) AS MONEY )   , 102),'.00',''),',','.')) PAGO_DOCTO,
		 ACC_ABO_CXC AS MTO_PGDO,
		 ''
	FROM ACC
	LEFT JOIN CXC ON ACC_NUM_CTA = CXC_NUM_CTA
	WHERE ACC_TIP_PGO  = @TIP_PGO
	AND   ACC_NRO_UNI  = @NRO_PGO
 
END
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

AYUDA CON UN SP

Publicado por Isaias (4558 intervenciones) el 06/10/2017 18:35:04
¿Y cual es la duda?

Me explico, el mensaje de error es muy claro, si yo utilizo campos de tipo CHAR, para almacenar NUMEROS, en este caso IMPORTES y alguien se le ocurre meter:

$4,500,480.00

Como importe y despues le hago un

CONVERT (VARCHAR(15),CAST( ROUND( ACC_ABO_CXC ,0 ) AS MONEY

¿Que crees que me mande como mensaje?

Msg 8114, Level 16, State 5, Procedure Sp_Impr, Line 11
Error al convertir el tipo de datos varchar a numeric.

¿Como verifico que si mi campo es CHAR y tiene puros numeros?

SELECT ACC_ABO_CXC
FROM mytabla
WHERE ISNUMERIC(ACC_ABO_CXC) = 0

Me dara, todos aquellos datos que "YO" creo que son numeros y NO LO SON.

¿me explique?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

AYUDA CON UN SP

Publicado por matias (2 intervenciones) el 06/10/2017 19:32:25
ok muchas gracias si me quedo bastante claro se agradece la amabilidad y buena disposición para explicar saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar