DEV Community

sarah de oliveira santana
sarah de oliveira santana

Posted on

SQL - operações matemáticas no SELECT

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.

homem batendo com a mão na cabeça repetidamente


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 quadrado

  • POWER(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()

Discussion (0)