SQL Server - Error al convertir el tipo de datos varchar a numeric.

   
Vista:
Imágen de perfil de Jose

Error al convertir el tipo de datos varchar a numeric.

Publicado por Jose jomavahu@gmail.com (2 intervenciones) el 08/04/2016 19:14:46
Sres muy buenos dias tengo un pequeño dilema y recurro a sus conocimientos en lo siguiente:

cuando quiero subir el siguiente monto a un campo de una tabla me sale el erro siguiente "Error al convertir el tipo de datos varchar a numeric."

select convert(numeric(18,6),'2,476,412.50')

lo corregí al colocarle el replace de esta manera

select convert(numeric(18,6),replace('2,476,412.50',',',''))

y muestra el valor pero cuando lo quiero colocar dentro de una sentencia para insertarlo en una tabla me sale el error otra vez

les copio el query

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
INSERT INTO #EXTRACTO EXEC (
--		PRINT(
			'SELECT
			convert(nvarchar(10),convert(datetime,ex.[F1],103),112) [DueDate],
			ISNULL(left(ex.[F3],254),'''') [Memo],
			CASE WHEN[title] convert(NUMERIC(18,6),(replace(ex.[F4],'','','''')))>0 THEN convert(NUMERIC(18,6),(replace(ex.[F4],'','',''''))) ELSE 0 END [CreditAmount],
			CASE WHEN convert(NUMERIC(18,6),(replace(ex.[F4],'','','''')))<0 THEN -convert(NUMERIC(18,6),(replace(ex.[F4],'','',''''))) ELSE 0 END [DebitAmount],
			left(
				CASE WHEN left(ex.[F3],6)=''CHEQUE'' THEN substring(ex.[F3],8,8)
						WHEN left(ex.[F3],8)=''CHQ.DEP.'' THEN substring(ex.[F3],9,8)
				else CONVERT(nvarchar(50),ISNULL(ex.[F7],'''')) end
			,27) [Reference],
			(select top 1 glaccount from dsc1 where account='''+@cuenta+''') [AccountCode]
			FROM OPENROWSET(''Microsoft.Jet.OLEDB.4.0'',
			''Text;Database='+@folder+@cuenta+';HDR=NO;'',
			''SELECT * FROM ['+@archivo+'] where [F1] is not null'') AS ex
			order by [F7]')

erro-de-conversion-varchar-a-numeric
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 Jose

Error al convertir el tipo de datos varchar a numeric.

Publicado por Jose (2 intervenciones) el 08/04/2016 20:22:07
Sres les comparto la solución aplicada a este problema.

convert(NUMERIC(18,6),(replace(ex.[F4],'','','''')))

lo cambie por

convert(numeric(18,6),convert(float,(replace(ex.[F4],'','',''''))))

y ya no me esta saliendo el error.

les comparto la solución encontrada y probada. gracias
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
Imágen de perfil de xve

Error al convertir el tipo de datos varchar a numeric.

Publicado por xve (86 intervenciones) el 09/04/2016 08:35:34
Gracias por compartirlo Jose!!!
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