Avalados por :

Cómo convertir nvarchar a numérico en SAP: Consejos de expertos

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 18 Vistas
0
Cargando...

Hola Expertos en SAP

Por favor, ¿pueden aconsejarme si hay una fórmula para convertir el tipo de datos de nvarchar a numérico?

He creado una búsqueda formateada pero cuando la cantidad está separada por una coma en miles, recibo el siguiente mensaje de error. Mi consulta es la siguiente

'Error al convertir el tipo de datos nvarchar a numérico.'

SELECT (T0.IWeight1 * $[$-38.11]) FROM OITM T0 WHERE $[$-38.1]=t0.itemcode

Muchas gracias

Chris

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Hola Johan

Por favor, vea a continuación

SELECT ((T0.IWeight1 *

CASE

WHEN CAST(N'10.000000' AS NVARCHAR) LIKE '%.%' THEN REPLACE(CAST(N'10.000000' AS NVARCHAR), '.', '')

ELSE N'10.000000' END))/1000000

FROM OITM T0 WHERE N'DS0384 '=t0.itemcode

Y un resultado de 100.00

Saludos

Chris

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hola Chris,

Veamos con qué valores está intentando trabajar la consulta.

Por favor, abre el formulario en el que se encuentra FMS y ve a la última entrada (para que el formulario esté poblado con datos), luego ve a Herramientas > Consultas > Consultas de usuario > el grupo de consultas en el que guardaste la consulta y ejecuta la consulta directamente. Ahora echa un vistazo al texto de la consulta. En lugar de $[$-38.11] ahora deberías ver un número, un texto, una cadena vacía, o algo por el estilo.

Saludos,

Johan

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Lo siento Johan, todavía no está funcionando. La consulta ahora multiplica los resultados por 1000000.

He dividido por esta cantidad para obtener los resultados deseados, pero aún recibo el siguiente mensaje de error cuando la cantidad es de 1,000 o más:

Por favor, vea el mensaje de error a continuación:

1). [Microsoft][SQL Server Native Client 11.0][SQL Server]Error convirtiendo el tipo de datos nvarchar a numérico. '' (SWEI)

SELECT ((T0.IWeight1 *

CASE

WHEN CAST($[$-38.11] AS NVARCHAR) LIKE '%.%' THEN REPLACE(CAST($[$-38.11] AS NVARCHAR), '.', '')

ELSE $[$-38.11] END))/1000000

FROM OITM T0 WHERE $[$-38.1]=t0.itemcode

Saludos


Chris

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hola Chris,

Primero debes asegurarte de que el error de conversión se debe al separador de miles y no a un campo vacío.

Luego puedes intentar usar una declaración CASE. Algo así:

SELECT (T0.IWeight1 *

CASE

WHEN CAST($[$-38.11] AS NVARCHAR) LIKE '%.%' THEN REPLACE( CAST($[$-38.11] AS NVARCHAR), '.', '')

ELSE $[$-38.11] END )

FROM OITM T0 WHERE $[$-38.1]=t0.itemcode


Saludos,

Johan

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?