cancel
Showing results for 
Search instead for 
Did you mean: 

consulta

former_member220991
Participant
0 Kudos


buenos días estoy realizando una la siguiente consulta

select ORD.Series,ORD.DocNum AS 'DOCUMENTO',ORD.CardCode AS 'CODIGO DE CLIENTE',ORD.NumAtCard AS 'ORDEN DE COMPRA',

ORD.CardName AS 'CLIENTE',ORD.U_Ventana AS 'VENTANA DE ENVIO',

DE.ItemCode AS 'NUMERO DE PARTE',DE.Dscription AS 'DESCRIPCION',DE.WhsCode AS 'ALMACEN ENVIO',

DE.Quantity AS 'CANTIDAD DE COMPRA',DE.U_Inventario_PCPT AS 'INVENTARIO PCPT',DE.U_Inventario_Envio AS 'INVENTARIO ENVIO',

ORD.DocDate AS 'FECHA',ORD.DocDueDate AS 'FECHA DE ENVIO',

CAST(DE.U_Inventario_Envio AS DECIMAL(18,5)) - DE.Quantity AS 'REQUERIDO'

from ORDR ORD INNER JOIN RDR1 DE ON ORD.DocEntry = DE.DocEntry

pero me marca el error de Error al convertir el tipo de datos nvarchar a numérico. en la consulta estoy utilizando el CAST para realizar la conversión

Accepted Solutions (0)

Answers (4)

Answers (4)

Former Member
0 Kudos

Viendo tu query, Antonio, el problema puede radicar en la última columna "Requerido". Ejecuta la siguiente consulta para poder identificar qué filas de RDR1 tienen caracteres en el campo U_inventario_envio en el que supongo tú esperas solo valores numéricos.

select * from rdr1 where U_Inventario_Envio not like '%[^0-9]%'

Una vez identificados decide si los descartas, o reemplazas los valores texto por vacío o algo, o reemplaza los valores erróneos en la tabla RDR1 desde los pedidos.

Saludos,

JC.

gerardo_mendez
Active Contributor
0 Kudos

Hola Antonio.

¿En que ha quedado este asunto de la consulta? Te recomiendo mencionar la solución a tu problema para así quede como referencia a futuras consultas.

Recuerda cerrar tu discusión cuando lo consideres pertinente:

¿Porque se debe de cerrar una discusion?

former_member220991
Participant
0 Kudos

sigo con la misma situación y el mismo error sigo investigando

Former Member
0 Kudos

¿si eliminas la linea de CAST(DE.U_Inventario_Envio AS DECIMAL(18,5)) - DE.Quantity AS 'REQUERIDO'


te elimina el error,?


de ser la respuesta SI, el error esta en que el campo U_Invenrio_Envio tiene Letras o simbolos no numericos


Ejecuta lo siguiente Select U_Invenrio_Envio From rdr1, pasalo a excel y de ahi ve en un filtro los que no son numeros


Saludos

Former Member
0 Kudos

Probablemente tu campo de U_Inventario_Envio contiene caracteres Alfabeticos por lo tanto no puede convertirse en Decimal.

Revisalo en los datos que contiene y restringe la definicion de ese campo a numerico desde que lo das de alta para que no pase eso

Saludos

gerardo_mendez
Active Contributor
0 Kudos

Hola Antonio.

En primer lugar verifica qué datos contiene el campo U_Inventario_Envio.


Puedes hacer una consulta como la siguiente:


Select DE.U_Inventario_Envio FROM RDR1 DE

Y verifica que efectivamente existen solo valores numéricos.

También te sugiero poner un IsNull en tu campo  CAST(IsNull(DE.U_Inventario_Envio,0) AS DECIMAL(18,5))

Quedo al pendiente.