Enquanto estudava SQL, tive muita dificuldade de entender algumas operações nas queries, especialmente nas divisões e multiplicações pela singularidade da linguagem SQL em retornar o número inteiro.
NÃO ENTENDI NADA DE PRIMEIRAAAA! Então vou anotar aqui pra nunca mais esquecer.
Operações no SELECT
Há dois tipos de consultas: linha a linha e funções de agregação (por coluna).
A agregação é basicamente um "ETL" direto no SQL.
Operações básicas
Soma
SELECT 1+2 AS resultado;
SELECT 458.99 + 899 + 7.77;
Subtração
SELECT 233 - (78.99 + 333)
a operação segue a ordem de resolução, primeiro a operação entre parênteses depois o que está fora
DIVISÃO
SELECT 50 / 2 AS resultado;
retorna 25
mas...
SELECT 49 / 2 AS resultado;
retorna 24
ou seja: apenas o número inteiro
PARA EXIBIR AS CASAS DECIMAIS
SELECT 49.0 / 2 AS resultado;
retorna 24.500000
OU também
SELECT 49.99 / 2 AS resultado;
retorna 24.995000
MULTIPICAÇÃO
SELECT 50*2 AS resultado
retorna 100
SELECT 50.88*3 AS resultado
retorna 152.64
Ou seja:
SEMPRE QUE VOCÊ FIZER A CONTA COM NÚMEROS INTEIROS, RETORNARÁ NÚMEROS INTEIROS. SE VOCÊ FIZER COM DECIMAIS, RETORNARÁ COM DECIMAIS.
Outras operações
POTENCIAÇÃO
SQUARE()
= calcula o quadradoPOWER(x,y)
: potenciação: x elevado a y
PORCENTAGEM
- Ex:(+ 10%)
SELECT 100 * 1.1 AS resultado
SELECT 100 + (100 * 0.1) AS resultado
retorna 110.0
- Ex: (- 10%)
SELECT 100 * 0.9 AS RESULTADO
retorna 90.0
RAIZ QUADRADA
SELECT SQRT (49)
PI
SELECT PI()
DATA ATUAL
SELECT GETDATE()
Top comments (0)