Avalados por :

Como converter nvarchar em numérico no SAP: Dicas de especialistas.

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

Olá Especialistas em SAP

Por favor, podem me aconselhar se há uma fórmula para converter o tipo de dados de nvarchar para numérico?

Criei uma busca formatada, mas quando a quantidade é separada por uma vírgula em milhares, recebo a seguinte mensagem de erro. Minha consulta é a seguinte

'Erro ao converter o tipo de dados nvarchar para numérico.'

SELECIONAR (T0.IWeight1 * $[$-38.11]) DE OITM T0 ONDE $[$-38.1]=t0.itemcode

Muito obrigado

Chris

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

4 Respuestas

0
Cargando...

Olá Johan

Por favor, veja abaixo

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

E um resultado de 100.00

Saudações

Chris

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

Olá Chris,

Vamos verificar com quais valores você está tentando trabalhar na consulta.

Por favor, abra o formulário onde o FMS está e vá para a última entrada (para que o formulário seja preenchido com dados), em seguida vá para Ferramentas > Consultas > Consultas de usuário > o grupo de consultas onde você salvou a consulta e execute a consulta diretamente. Agora dê uma olhada no texto da consulta. Em vez de $[$-38.11] agora você deve ver um número, um texto, uma string vazia, ou algo do tipo.

Cumprimentos,

Johan

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

Desculpe Johan, ainda não está funcionando. A consulta agora multiplica os resultados por 1000000.

Dividi pela quantidade para obter os resultados desejados, mas ainda recebo a seguinte mensagem de erro quando a quantidade é de 1.000 ou mais:

Por favor, veja a mensagem de erro abaixo:

1). [Microsoft][SQL Server Native Client 11.0][SQL Server]Erro ao converter o tipo de dados nvarchar em 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

Saudações


Chris

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

Olá Chris,

Primeiro, certifique-se de que o erro de conversão se deve ao separador de milhares e não a um campo vazio.

Depois, você pode tentar usar uma declaração CASE. Algo assim:

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


Saudações,

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?