Lista de funções de string

Mais funções do que data e hora - apenas o tipo String. Que no SQL é dado pelos tipos CHAR(n) e VARCHAR(n). Vamos relembrar o mais popular deles:

Função Descrição
1 COMPRIMENTO(str) Retorna o comprimento da string passada em bytes
2 CHAR_LENGTH(str) Retorna o comprimento da string passada em caracteres
3 LOCATE(substr,str), Procura uma substring em uma string semelhante ao método indexOf()
4 LOCATE(substr,str,pos) Procura uma substring em uma string começando em pos
5 CONCAT(str1,str2,...) Concatena várias linhas
6 SUBSTR(), SUBSTRING() Retorna uma substring fornecida por um intervalo de caracteres
7 INFERIOR(str) Converte uma string para letras minúsculas
8 MAIOR(str) Converte uma string para letras maiúsculas
9 SUBSTITUIR() Substitui uma substring em uma string
10 CORRESPONDER() Verifica se uma string corresponde a um determinado padrão
onze TRIM(str) Corta caracteres vazios no início e no final de uma string
12 LTRIM(str) Corta caracteres vazios no início de uma string
13 RTRIM(str) Corta caracteres vazios no final de uma string
14 TO_BASE64(str) Converte uma string para Base64
15 FROM_BASE64(str) Converte uma string de Base64

Agrupei deliberadamente as funções em pequenos grupos para facilitar a compreensão de como trabalhar com elas. A seguir, consideraremos uma função de cada grupo. Você pode encontrar uma lista completa de funções para trabalhar com strings na documentação oficial .

Vamos converter a string

Vamos primeiro lidar com as funções mais simples que simplesmente convertem uma string em uma forma ligeiramente diferente. Por exemplo, converta uma string em letras maiúsculas e minúsculas. Em geral, seu comportamento é semelhante ao das mesmas funções da linguagem Java.

Então vou apenas dar uma tabela com alguns exemplos.

# Solicitar Resultado
1 SELECIONE O COMPRIMENTO ('texto') 4
2 SELECIONE O COMPRIMENTO ('Olá') 12
3 SELECIONE INFERIOR ('Olá') Olá
4 SELECT UPPER ('Olá') OLÁ
5 SELECT SUBSTR ('Olá', 2, 3) riv
6 SELECT SUBSTR ('Oi, tudo bem?', 8) Como vai você?

As funções funcionam conforme o esperado, assim como suas contrapartes do JDK.

A única ressalva: na primeira linha, o resultado é 4, não 8. O fato é que 1 byte (codificação ASCII) é usado na solicitação para codificar caracteres latinos. Mas se você trabalhar com dados do banco de dados, o comprimento da string dependerá das configurações de codificação do banco de dados . Você encontrará muitas surpresas ao trabalhar com o banco de dados :)

Ações complexas com strings

Bem, vamos ver coisas mais complexas ao trabalhar com strings. O que você inventaria...

Vamos exibir as tarefas da tabela de tarefas e, se o prazo da tarefa já tiver passado, adicione a palavra EXPIRADO à descrição da tarefa!

Soa interessante. Embora ainda não tenhamos aprendido condições complexas, vamos simplificar um pouco a tarefa. Vamos apenas escrever uma consulta que exibirá uma lista de tarefas anteriores, mas certifique-se de adicionar a palavra “EXPIRED!” ao título. .

Para fazer isso, teremos que usar a função CONCAT:

   SELECT CONCAT( 'EXPIRED! ', name) FROM task 
   WHERE deadline < CURDATE() 

O resultado desta consulta será:

concat('EXPIRADO! ', nome)
EXPIRADO! Corrigir um bug no front-end

Recomendação. Se você só precisa converter os dados em um formato ligeiramente diferente, isso também pode ser feito no nível de código Java. Mas se você quiser usar funções de string do lado do servidor SQL (dentro de WHERE), então você definitivamente não pode ficar sem elas.