test_expression [ NOT ] BETWEEN begin_expression AND end_expression
Onde:
- test_expression é a expressão a ser testada no intervalo definido em begin_expression e end_expression;
- NOT é o operador lógico opcional para negar o resultado do teste;
- begin_expression é uma expressão que indica o valor inicial do teste;
- end_expression é uma expressão que indica o valor final do teste;
- AND operador lógico que indica que test_expression deve estar dentro do intervalo (ou fora caso o operador NOT seja utilizado) compreendido entre begin_expression e end_expression.
Obs.: test_expression, begin_expression e end_expression devem ser do mesmo tipo de dados.
Vamos a alguns exemplos (utilizando o banco AdventureWorks disponibilizado aqui):
1- Selecionar os funcionários com taxa de pagamento entre 27 e 30.
SELECT e.FirstName, e.LastName, ep.Rate
FROM HumanResources.vEmployee e
JOIN HumanResources.EmployeePayHistory ep
ON e.BusinessEntityID = ep.BusinessEntityID
WHERE ep.Rate BETWEEN 27 AND 30
ORDER BY ep.Rate;
Com este exemplo podemos verificar que o operador BETWEEN é inclusivo, ou seja, os valores dos extremos do intervalo são levados em consideração.
2- Selecionar os funcionários com taxa de pagamento fora do intervalo 27 a 30.
SELECT e.FirstName, e.LastName, ep.Rate
FROM HumanResources.vEmployee e
JOIN HumanResources.EmployeePayHistory ep
ON e.BusinessEntityID = ep.BusinessEntityID
WHERE ep.Rate NOT BETWEEN 27 AND 30
ORDER BY ep.Rate;
Neste caso utilizamos o operador NOT para obter o resultado desejado.
Versão do Sql Server utilizada:
Microsoft SQL Server 2008 (SP3) - 10.0.5512.0
Nenhum comentário:
Postar um comentário