As funções SQL são rotinas pré-definidas que executam operações específicas nos dados. Elas permitem manipular dados, realizar cálculos e formatar resultados diretamente em suas consultas SQL. As funções podem ser usadas em várias partes de uma consulta, como na cláusula SELECT
para transformar a saída ou na cláusula WHERE
para filtrar dados com base em valores calculados.
As funções SQL são semelhantes às funções em outras linguagens de programação. Elas aceitam valores de entrada (argumentos), executam uma operação específica e retornam um resultado. As funções podem ser integradas (fornecidas pelo sistema de banco de dados) ou definidas pelo usuário (criadas pelos usuários). Esta lição foca nas funções integradas.
A sintaxe geral para usar uma função em SQL é:
FUNCTION_NAME(argument1, argument2, ...);
FUNCTION_NAME
: O nome da função que você deseja usar.argument1, argument2, ...
: Os valores de entrada (argumentos) que a função requer. Estes podem ser nomes de colunas, valores literais ou até mesmo outras funções.As funções na cláusula SELECT
permitem transformar ou calcular valores para a saída.
UPPER
)A função UPPER()
converte uma string para letras maiúsculas.
SELECT UPPER(first_name) AS uppercase_name
FROM employees;
Esta consulta recupera a coluna first_name
da tabela employees
e converte cada nome para letras maiúsculas, atribuindo o resultado ao alias uppercase_name
.
ROUND
)A função ROUND()
arredonda um número para um número especificado de casas decimais.
SELECT ROUND(salary, 0) AS rounded_salary
FROM employees;
Esta consulta recupera a coluna salary
da tabela employees
e arredonda cada salário para o número inteiro mais próximo, atribuindo o resultado ao alias rounded_salary
.
NOW
)A função NOW()
não aceita argumentos e retorna a data e hora atuais.
SELECT NOW() AS current_datetime;
Esta consulta retorna a data e hora atuais.
As funções na cláusula WHERE
permitem filtrar dados com base em valores calculados ou transformados.
LENGTH
)A função LENGTH()
retorna o comprimento de uma string.
SELECT *
FROM products
WHERE LENGTH(product_name) > 20;
Esta consulta recupera todas as colunas da tabela products
onde o comprimento de product_name
é maior que 20 caracteres.
YEAR
)A função YEAR()
extrai o ano de uma data.
SELECT *
FROM orders
WHERE YEAR(order_date) = 2023;
Esta consulta recupera todas as colunas da tabela orders
onde o ano de order_date
é 2023.
ABS
)A função ABS()
retorna o valor absoluto de um número.
SELECT *
FROM transactions
WHERE ABS(amount) > 100;
Esta consulta recupera todas as colunas da tabela transactions
onde o valor absoluto de amount
é maior que 100.
As funções SQL podem ser amplamente categorizadas nos seguintes tipos:
UPPER
, LOWER
, SUBSTRING
, LENGTH
, TRIM
).ROUND
, ABS
, SQRT
, MOD
).NOW
, YEAR
, MONTH
, DAY
, DATE_ADD
, DATE_SUB
).COUNT
, SUM
, AVG
, MIN
, MAX
). (Abordadas em uma lição posterior)CAST
, CONVERT
).AS
) para dar nomes significativos às colunas calculadas.Principais Conclusões desta Lição:
Ao dominar o uso de funções em consultas SQL, você poderá realizar manipulações e análises poderosas de dados, extraindo insights valiosos de suas informações.