Esse artigo faz parte da revista SQL Magazine edição 60. Clique aqui para ler todos os artigos desta edição

a tratamento de strings, ou como são chamadas, String Functions. Existem várias maneiras de automatizar o trabalho com strings no MySQL e muitas delas são desconhecidas por DBA’s ou desenvolvedores. Algumas destas funções serão apresentadas neste artigo.

Mas enfim, qual é a sua primeira reação quando necessita de uma função para trabalhar strings em meio a uma instrução SQL? Pesquisar o manual? Pesquisar no Google? Às vezes são estas as principais saídas que temos antes de fazer um estudo aprofundado do assunto para que, quando precisarmos novamente, já sabermos pelo menos qual função utilizar, tendo somente que relembrar sua sintaxe e parâmetros a fornecer.

O MySQL oferece uma biblioteca extensa de funções para se trabalhar com strings, o que nos deixa bastante à vontade para implementar consultas com muita facilidade, seja para retorno de informações para uma aplicação, seja para desenvolvimento de relatórios ou para quaisquer outras finalidades.

Apresentaremos neste artigo as seguintes funções: UCASE(), LCASE(), SUBSTRING(), SUBSTRING_INDEX(), REPLACE(), CONCAT(), CONCAT_WS(), LEFT(), RIGHT(), LOCATE(), LENGTH() e REVERSE(). 

Cada função será explicada em contextos específicos, com abordagem clara, mostrando sua sintaxe e resultado. Quase todas as funções recebem parâmetros, podem receber caracteres especiais e alguns outros indicadores.

Ao fazer os seus testes, atente-se em não deixar espaços entre o nome da função e os parênteses, a menos que o SQL_MODE do seu servidor MySQL ou se sua conexão for configurada com a opção IGNORE_SPACE, como mostrada Figura 1.

 

Figura 1. Configurado o MySQL para aceitar espaços entre o nome da função e os parênteses.

 

Funções UCASE() e LCASE()

As funções LCASE() e UCASE() convertem os valores string originais fornecidos para valores em minúsculas e maiúsculas respectivamente. Suponha que precisemos fornecer um relatório que tenha os nomes dos clientes padronizados, em letras maiúsculas e seus respectivos e-mails em letras minúsculas, caso esse tratamento não tenha sido feito pela aplicação no input dos dados. A Figura 2 ilustra como aplicar estas funções em meio ao SELECT.

 

Figura 2. Exemplo de funcionamento das funções UCASE() e LCASE().

...

Quer ler esse conteúdo completo? Tenha acesso completo