Introdução às funções String do MySQL

O MySQL possui várias funções integradas para aliviar os desenvolvedores de tarefas simples, como formatação de strings e deixá-los focar na solução do problema maior. Dessa forma, os desenvolvedores não precisam se preocupar em escrever scripts para executar tarefas simples. As funções internas cuidam disso. Os desenvolvedores precisam apenas se concentrar em como e onde usar essas funções internas para alcançar o resultado final.

Uma dessas categorias de funções internas é a função de string do MySQL. A formatação de strings, como concatenação, exibição em um determinado formato, inserção / exclusão de substrings, etc. às vezes pode ser uma tarefa tediosa. As funções de string do MySQL cuidam disso para você.

Para ilustrar várias funções String do MySQL, primeiro precisamos criar um banco de dados. O banco de dados a seguir será mencionado em todos os exemplos:

Funções de String do MySQL

A função String é fácil de usar. Aqui discutiremos como usar funções de string na programação MySQL com a ajuda de exemplos

1. ASCII (str)

Retorna o valor ASCII do caractere mais à esquerda da string str .

Select FirstName, ASCII(FirstName) from Person

2. BIN (N)

Retorne o equivalente binário de N, onde N é um Int / BigInt.

Select Phone, BIN(Phone) from Person

3. BIT_LENGTH (str)

Retorna o comprimento da string str em bits.

Select FirstName, BIT_LENGTH(FirstName) from Person

4. CHAR_LENGTH (str)

Retorna o comprimento da string str em caracteres.

Select FirstName, CHAR_LENGTH(FirstName) from Person

5. CONCAT (str1, str2, …, strn)

Retorna uma string formada pela junção de str1 a strn. Se qualquer sub-string for NULL, o resultado será NULL.

Select FirstName, LastName, CONCAT(FirstName, LastName) as DisplayName from Person

6. CONCAT_WS (separador, str1, …, strn)

Retorna uma sequência concatenada separada por um separador.

Select FirstName, LastName, CONCAT_WS(' ', FirstName, LastName) as DisplayName from Person

Select FirstName, LastName, CONCAT_WS(', ', LastName, FirstName) as DisplayName from Person

7. CAMPO (str, str1, str2, …, strn)

Retorna a posição do índice da string str entre str1 a strn . Retorna 0 se não for encontrado.

Select FirstName, LastName, FIELD('John', FirstName, LastName) as IsJohn from Person

8. FORMATO (x, D)

Formata o número X para '#, ###, ###. ##' para exibição. D é o número de casas decimais. Por padrão, o formato é en-US.

Select FORMAT(Phone, 0) as Phone from Person

9. HEX (str) / UNHEX (hex_str)

Retorna um equivalente hexadecimal da string str. UNHEX retorna a string real.

Select FirstName, HEX(FirstName) from Person

10. INSERT (str, pos, len, newstr)

Substitui a sub-string iniciando na posição pos e de comprimento len na string str por newstr.

Select FirstName, LastName, INSERT(LastName, 3, 20, FirstName) as LoginID from Person

11. INSTR (str, substr) / LOCATE (substr, str) / POSIÇÃO (substr IN str)

Retorna a posição da primeira ocorrência de substr em str.

Select FirstName, INSTR(FirstName, 'oo'), LOCATE('hn', FirstName), POSITION('al' IN FirstName) from Person

12. LCASE () / LOWER () e UCASE () / UPPER ()

Converte uma string em minúscula e maiúscula.

Select FirstName, LOWER(FirstName) as Lower, UPPER(FirstName) as Upper from Person

13. ESQUERDA (str, len) / DIREITA (str, len)

Retorna os caracteres len mais à esquerda e à direita da string str.

Select FirstName, LastName, CONCAT(LEFT(LastName, 3), RIGHT(FirstName, 2)) as LoginID from Person

14. COMPRIMENTO (str) / OCTET_LENGTH (str)

Retorna o comprimento da string str em bytes. Isso é muito parecido com a função CHAR_LENGTH. A diferença ocorre quando há caracteres multibyte na string.

Select CHAR_LENGTH('€'), Length('€')

Isso acontece porque o sinal Euro (€) ocupa 3 bytes na memória.

15. LPAD (str, len, padstr) / RPAD (str, len, padstr)

Insere a sub-string da posição 0 do string de string no início e no final da string até que a string resultante tenha caracteres len.

Select FirstName, LastName, LPAD(CONCAT_WS(' ', FirstName, LastName), Char_Length(CONCAT_WS(' ', FirstName, LastName))+Char_Length('Mr. '), 'Mr. ') as DisplayName from Person

16. LTRIM (str) / RTRIM (str) / TRIM (str)

Retorna a string str após aparar os espaços em branco da esquerda, direita ou ambas as extremidades.

Select LTRIM(' abc ') as L, RTRIM(' abc ') as R, TRIM(' abc ') as T

17. MID (str, pos, len) / SUBSTRING (str, pos, len)

Retorna uma substring da string str iniciando na posição pos do comprimento len.

Select FirstName, SUBSTRING(FirstName, 2, 4) as a sub from Person

18. CITAÇÕES (str)

Esta consulta cita e desassocia a string str. Caracteres especiais são escapados.

Select Address, QUOTE(Address) from Person

19. REPLACE (str, from_str, to_str)

Substitui todas as ocorrências da sub-string from_str pela sub-string to_str na string str . Faz distinção entre maiúsculas e minúsculas.

Select Address, REPLACE(Address, 'S', 'ss') from Person

20. REVERSO (str)

Inverte a string str.

Select FirstName, REVERSE(FirstName) from Person

21. ESPAÇO (N)

Este é bem engraçado. Ele simplesmente retorna uma sequência de N espaços em branco. Agora eu me pergunto o que os fez criar essa função! Enfim, tente você mesmo.

22. SUBSTR (str, pos) / SUBSTRING (str, pos) / SUBSTR (str, pos, len) / SUBSTRING (str, pos, len)

Retorna uma substring da string str, iniciando na posição pos, até o final, se nenhum len for especificado ou para caracteres len de outra forma. Lembre-se, o Índice começa em 1 no MySQL.

Select FirstName, LastName, SUBSTR(FirstName, 2), SUBSTRING(LastName, 2, 2) from Person

23. SUBSTRING_INDEX (str, delim, count)

Retorna uma substring da string str antes ou depois da ocorrência de contagem do caractere delim. Se a contagem for positiva, sub-string antes que a ocorrência seja retornada. Se a contagem for negativa, sub-string após o retorno da ocorrência.

Select Address, SUBSTRING_INDEX(Address, '-', 1) as House, SUBSTRING_INDEX(Address, ', ', 1) as Street, SUBSTRING_INDEX(Address, ', ', -1) as City from Person

Conclusão - Funções MySQL String

Então, algumas dessas funções foram úteis? Isso ajudou a resolver um caso de uso que você tinha? Tenho certeza que sim. Não apenas as funções de string, mas as funções internas do MySQL são uma ótima maneira de obter resultados em consultas mínimas, reutilizando o código existente e aproveitando o poder da estrutura em sua capacidade total.

Artigos recomendados

Este foi um guia para as funções de String do MySQL. Aqui discutimos como usar a função string na programação MySQL com a ajuda de exemplos. Você também pode consultar os seguintes artigos para saber mais -

  1. Diferentes tipos de operadores MySQL
  2. Como instalar o MySQL?
  3. Comandos básicos para avançar do MySQL.
  4. Folha de dicas MySQL
  5. Como implementar o comando Insert no MySQL?