
Error al convertir el tipo de datos varchar a numeric.
Publicado por Jose (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

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]')

Valora esta pregunta


0