Voltar para a lista de artigos Artigos
9 minutos de leitura

18 Funções SQL importantes e úteis para aprender o mais rápido possível

Começando com SQL: Funções úteis para dominar

O aprendizado de uma nova linguagem de programação pode parecer intimidante. Como qualquer outra linguagem, uma linguagem de programação tem um grande vocabulário que você precisa dominar. Neste artigo, veremos algumas das funções SQL mais úteis que você precisa conhecer.

Há muitas funções SQL úteis para trabalhar com diferentes tipos de dados. Uma vez que você pratique com algumas das mais comuns, você ganhará confiança suficiente para passar para material mais avançado. Portanto, vamos examinar algumas dessas funções SQL mais comuns com mais detalhes.

1. FUNÇÕES DE CORDA

Uma corda é apenas uma série de um ou mais caracteres que foram amarrados juntos. Muito simplesmente, as funções das cordas lidam com as cordas!

Comprimento

A função de corda SQL mais simples é o comprimento. Como seu nome sugere, length retorna o número de caracteres que uma determinada string contém (incluindo espaços e pontuação). Vamos olhar para uma simples declaração de seleção do PostgreSQL e alimentá-la com a string 'Olá, meu nome é':

select length('Hello, my name is');

O resultado da execução desta consulta é 17. Se você contar manualmente o número de caracteres, espaços incluídos, na cadeia acima, você verá que 17 é uma correspondência exata! Embora length possa parecer a princípio uma função trivial, na verdade você a utilizará com muita freqüência.

Trim

Vamos cortar um pouco de gordura! Outro exemplo da categoria de funções SQL mais útil é trim. Elimina o excesso de espaços e abas do início e do fim de um fio que passamos como seu argumento. Por exemplo, se passarmos na string ' Olá, meu nome é ', receberemos a mesma string, mas sem todos aqueles espaços de entrada e saída. Aqui está uma pergunta básica com essa corda:

select length('  Hello, my name is  ');

Como esperado, a consulta acima retorna 'Hello, my name is'.

Concat .

A função concat combina(concatenia) duas ou mais cordas que nós passamos como seus argumentos. Aqui está um exemplo de concatenação de cordas em ação:

select concat(' Hello, ', 'my name is ', 'Paul');

Esta consulta retorna a seqüência 'Hello, my name is Paul'.

Em cima .

Dada uma corda, a parte superior retorna a mesma corda, mas com todos os seus caracteres em maiúsculas. Portanto, se você gostaria que todos o ouvissem alto e bom som, você pode escrever a seguinte pergunta:

select upper('Hello, my name is Paul');

Isto retorna a cadeia de caracteres 'HELLO, MY NAME IS PAUL'.

Inferior .

A função lower é o oposto direto de upper - é preciso uma corda e retorna a mesma corda com todos os seus caracteres vazados em minúsculas. Aqui está uma consulta que usa letras minúsculas:

select lower('Hello, my name is Paul');

Previsivelmente, obtemos a corda 'hello, my name is paul'.

Initcap .

Esta função capitaliza a primeira letra (inicial) de cada palavra em uma determinada cadeia. Por exemplo, você pode usar initcap para garantir que o nome que alguém forneceu adere às regras de capitalização adequadas. Aqui está um exemplo da função em uso:

select initcap('paul anderson');

O resultado da consulta acima é 'Paul Anderson'.

É claro que há muito mais funções SQL úteis utilizadas para strings, como replace, substr, e outras. Para saber mais sobre elas, confira LearnSQL.com.br's Funções Comuns em SQL curso interativo! Graças a ele, você aprenderá sobre outras funções SQL comuns que eu não mencionei neste artigo.

2. FUNÇÕES NUMÉRICAS

As funções numéricas simplesmente funcionam com números, e há muitas funções SQL úteis nesta categoria. Vamos discutir algumas delas.

Abs

Cortar? Abs? Sim, eu sei o que você está pensando, mas isto não é um programa de exercícios. Abs é a abreviação de absoluto; é uma das funções SQL mais comuns que calcula o valor absoluto de um valor numérico que passamos como seu argumento. Em outras palavras, o abs retorna a versão positiva de um determinado número. Aqui está um exemplo:

select abs(-22),abs(22);

Se você tem prestado atenção na aula de matemática, você saberá que ambas as chamadas para o abs retornam o número 22.

Rodada

A função round pega um número de ponto flutuante (decimal) e arredonda-o como você normalmente faria no papel. Dê uma olhada neste exemplo simples:

select round(5.4),round(5.5),round(5.6);

Receberíamos 5 (próximo número inteiro menor), 6 (próximo número inteiro maior) e 6 (próximo número inteiro maior), respectivamente, para as três chamadas acima para arredondar.

Ceil

A função ceil retorna o teto de um número - o primeiro inteiro maior ou igual a esse número. Para visualizar este processo, coloque o número em questão (digamos -0,5) em uma linha de número padrão e mova da esquerda para a direita, procurando o próximo maior inteiro (neste caso, é 0). Aqui está um exemplo adicional:

select ceil(5.4),ceil(5.5),ceil(6);

Recebemos os números 6, 6, e 6 para estas três chamadas.

Piso

Floor é o inverso da função ceil; ele retorna o piso do número decimal que passamos como seu argumento - o primeiro inteiro que é menor ou igual a esse número. Por exemplo, o andar de -0,5 é -1, pois esse é o primeiro inteiro que é inferior a -0,5. Com a visualização da linha numérica, você começa pelo número dado e se move da direita para a esquerda em busca de um número inteiro. Se repetirmos as chamadas acima com a função floor em seu lugar:

select floor(5.4),floor(5.5),floor(6);

Recebemos estes três números depois de executar a consulta acima: 5, 5, e 6.

Assine

Uma das funções mais simples desta lista, o sinal toma um número como argumento e retorna -1 se o número for negativo, 0 se o número for 0, e 1 se o número for positivo. É tão fácil quanto isso! Aqui está um exemplo:

select sign(-5),sign(0),sign(5);

Esta consulta retorna os seguintes números: -1, 0, e 1.

Mod

Mod significa modulo. É uma função SQL muito poderosa mas ainda assim uma das mais comuns que retorna o restante do primeiro argumento dividido pelo segundo argumento. Por exemplo, dividindo 5 por 2 resulta no restante de 1. Assim, a função chamada mod(5, 2) retorna o número 1!

O operador do módulo tem muitas aplicações úteis, e um de seus usos comuns é determinar se um determinado número é par ou ímpar. Lembre-se que se um número é par, o restante da divisão desse número por 2 é 0. Caso contrário, o restante é 1. Assim, dado um número n, você pode executar mod(n, 2) para determinar se n é par ou ímpar!

Há muito mais funções SQL úteis na categoria numérica que você deve conhecer, tais como trunc, trigonometric, logarithmic, power, root, e muito mais. O melhor lugar para dominá-las é LearnSQL.com.br's Funções Comuns em SQL curso. Se você ainda não o fez, vá em frente e confira!

3. DATA FUNÇÕES

Como o nome desta categoria sugere, as funções de data funcionam com datas! Nesta seção, veremos algumas das funções SQL mais úteis deste tipo.

Data_actual

O primeiro da nossa lista é current_date, uma função SQL extremamente útil que ... retorna a data atual! Aqui está um exemplo de consulta:

select current_date;

Para nós, isto retornará 2018-01-04.

Extrato

Esta função SQL comum permite extrair certas partes de uma data (como o dia, o mês ou o ano) que você passa como argumento. Aqui está um exemplo de todas as três utilizações:

select extract(day from date'2017-1-1'),extract(month from date'2017-1-1'),extract(year from date'2017-1-1');

A consulta acima retorna os três números seguintes: 1, 1, e 2017.

Data_trunc

A função date_trunc truncata os valores de uma determinada data para uma granularidade específica. Digamos que você tem uma data, mas quer ter apenas o primeiro dia do mês dessa data, você truncaria o valor da data para um parâmetro de 'mês'. Vejamos um exemplo:

select date_trunc('month',date'2017-4-2') 

Isto retornaria a data de 04-01-2017. Se alimentássemos o valor do ano como uma granularidade:

select date_trunc('year',date'2017-4-2')

Receberíamos o primeiro dia do ano de entrada, 01-01-2017.

4. FUNÇÕES DIVERSAS

Além das funções que cobrimos até agora, há algumas funções diversas que são comumente usadas na programação SQL.

Coalesce

s vezes, você encontrará valores nulos ao trabalhar com dados tabulares. Estes representam informações ausentes ou ausentes. Infelizmente, qualquer cálculo envolvendo um valor nulo retornará nulo, e isto nem sempre é o ideal.

A função COALESCE pega uma lista de argumentos e retorna o primeiro destes que não contém um valor nulo. Em outras palavras, se o SQL achar que o primeiro argumento fornecido é nulo, ele passará a avaliar o segundo argumento, repetindo o processo até encontrar um que não seja nulo ou simplesmente fique sem argumentos.

Por exemplo, suponha que estejamos trabalhando com uma tabela que tenha uma coluna numérica chamada potencialmente_coluna_nula. Digamos que esta coluna tem vários valores - alguns que são nulos e outros que não são nulos. Suponhamos que executamos o seguinte código:

select COALESCE(potentially_null_column, 0);

Aqui, a consulta usará um valor 0 sempre que uma célula na coluna potencialmente_nula armazenar um valor nulo. Para células nessa coluna que não são nulas, a consulta simplesmente usará seus valores. Esta função SQL é mais útil em cálculos envolvendo colunas que podem conter valores nulos, pois evita comportamentos inesperados. Para saber mais sobre COALESCE e seus usos, confira este artigo útil.

O maior

Outra das funções SQL mais úteis, a maior, pega uma lista de expressões e retorna a maior delas. Aqui está um exemplo de ser utilizado:

select greatest(1,2,3,5,6);

Naturalmente, esta consulta retorna 6, pois este é o maior valor da lista que fornecemos.

No mínimo

O menor é o inverso direto do maior. Se escrevermos a seguinte pergunta:

select least(1,2,3,5,6);

Esta consulta retorna 1, pois esse é o menor valor da lista que fornecemos.

E uma vez conhecidas estas úteis funções SQL...

Há uma variedade de funções SQL úteis para manipulação de strings, números, datas e outros tipos de dados. Agora que você aprendeu um pouco sobre o básico, você deve considerar aprofundar estes assuntos para expandir o que você já sabe. Para isso, simplesmente não há melhor lugar para começar do que LearnSQL.com.br! Nosso SQL Avançado Faixa O pacote de cursos inclui os seguintes cursos SQL:

  1. Funções Comuns em SQL - Neste curso, você aprenderá como processar dados numéricos, textos e outros tipos de dados com as funções SQL mais úteis.
  2. Funções de Janela (Window Functions) em SQL - aqui você aprenderá funções de janelas também conhecidas como funções SQL analíticas.
  3. Consultas Recursivas - neste curso você aprenderá como processar árvores e gráficos em SQL, e como organizar eficazmente longas consultas e subconsultas SQL.

Você já aprendeu as funções SQL mais comuns. Agora, leve seu auto-desenvolvimento para o próximo nível e domine as consultas SQL mais desafiadoras!