Hoje vamos criar uma função para determinar se uma função é par ou ímpar com T-SQL.
Vamos utilizar o operador %, que no Sql Server representa o mod de uma divisão. Para quem não sabe, o mod é o resto de uma divisão.
Se executarmos SELECT 4%2 vamos obter como resultado o valor 0, pois o número quatro é par. Porém, se executarmos SELECT 5%2 vamos obter 1 como resultado pois o número 5 é ímpar.
Vamos utilizar o comando CREATE FUNCTION para criar uma função escalar que retorna verdadeiro se o número passado como parâmetro é ímpar ou não.
CREATE FUNCTION odd(@VALOR INT)
RETURNS BIT
AS
BEGIN
DECLARE @Result BIT
IF @VALOR%2 = 0
SET @Result = 0
ELSE
SET @Result = 1
RETURN @Result
END
Para testar a função recém criada, podemos fazer assim:
--TESTANDO A FUNÇÃO
SELECT
DBO.ODD(1) AS [PAR OU IMPAR 1],
DBO.ODD(19) AS [PAR OU IMPAR 19],
DBO.ODD(100) AS [PAR OU IMPAR 100]
domingo, 3 de maio de 2009
Criando uma função para determinar se um número é impar
Assinar:
Postar comentários (Atom)
amigos! estou com um problema
ResponderExcluirquero criar uma sql like function onde filtro apenas numeros pares por exemplo!
SELECT *
FROM news
WHERE categoria = news.newid LIKE '%[0-2468]'
mas ela nao funciona de jeito nenhum
belladona, não entendi muito bem o que vc fez no script, mas acho que se vc usar o operador mod, representado pelo "%", deve funcionar:
ResponderExcluirselect * from tabela
where campo%2 = 0