Jump to content

Converter ' , ' em ' . '


obamaself
 Share

Recommended Posts

Boas, no meu programa os clientes são obrigados a introduzir vírgulas como se fosses números decimais.

Numa query a base de dados SQL, eu quero calcular o valor máximo, só que não consigo porque há vezes em que eles inserem letras e assim.

quero calcular o máximo de uma coluna, a transformar virgulas em pontos , para fazer um gráfico.

Obrigada

Link to comment
Share on other sites

como é que faço isso?

Maneira mais facil, mas não sei se é possível:

mando como parametro para o gráfico o limite inferior ( calculado em vb ).

mas no gráfico, como é feito em report, só dá para adicionar campos da tabela  🙂

Link to comment
Share on other sites

A função

CREATE FUNCTION RetiraLetras
(
@S VARCHAR(50)
)
RETURNS INT
AS
BEGIN
DECLARE @PosicaoActual INT, @ResultadoFinal VARCHAR(50)
SET @PosicaoActual = 0
SET @ResultadoFinal = ''
WHILE (@PosicaoActual <= LEN(@S))
BEGIN
	SET @PosicaoActual = @PosicaoActual + 1
	IF (ISNUMERIC(SUBSTRING(@S, @PosicaoActual, 1)) = 1)
		SET @ResultadoFinal = @ResultadoFinal + SUBSTRING(@S, @PosicaoActual, 1)
END
RETURN CONVERT(INT, @ResultadoFinal)
END
GO

Utilização

SELECT MAX(dbo.RetiraLetras(Campo_da_Tabela)) FROM Tabela

Atenção que foi feita agora a pressão, testa bem..

Pedro Martins

Não respondo a duvidas por PM

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.