Por Pedro Gaspar para o PPLWARE
Ao longo de 10 semana temos apresentado alguns conceitos e funções sobre a linguagem SQL (ver artigos relacionados). A discussão do tema por parte dos nossos leitores tem sido fantástica e a partilha de conhecimento e experiência de cada um tem contribuído para um melhor uso de determinadas funções.
Esta semana vamos aprofundar um pouco mais a manipulação de strings em SQL.
Para apresentar os exemplos vamos utilizar a nossa habitual tabela tbl_pplware com os seguintes dados:
Por vezes é-nos útil manipular as strigs que queremos obter, seja separar os espaços, remover um determinado caracter que nos seja inútil, ou outra situação qualquer. A linguagem SQL tem algumas funções interessantes para manipulação de strings.
Função SUBSTRING_INDEX
Neste exemplo vamos utilizar a função SUBSTRING_INDEX Esta função permite-nos dividir uma string em varias e selecionar apenas a parte que nos interessa.
Como usar?
SELECT SUBSTRING_INDEX(‘www.pplware.com’, ‘.’, -2)
Resultado
Objectivo: Seleccionar o primeiro e ultimo nome de todas as pessoas
Query
SELECT SUBSTRING_INDEX( nome, ' ', 1 ) AS pnome, SUBSTRING_INDEX( nome, ' ', -1 ) AS unome FROM `tbl_pplware`
Resultado:
Como podem verificar o Vítor tem o mesmo resultado tanto no pnome como no unome, isto deve-se ao facto de ele não ter ultimo nome, ou seja, o delimitador que neste caso é ‘ ’ (um espaço) não existe.
Função REPLACE
Imaginemos que necessitamos de substituir um carácter ou uma substring dentro de uma string, nesse caso vamos utilizar a função REPLACE
Sintaxe
SELECT REPLACE(‘string princial’, ‘string a procurar’, ‘string que ira substituir’)
Objectivo: Remover o espaço entre no nome das pessoas
Query
SELECT REPLACE( nome, ' ', '' )
FROM tbl_pplware
Resultado
Função LOWER e UPPER
Por vezes necessitamos de obter os nossos resultados em letra pequena ou letra grande, nesse caso utilizamos as funções LOWER para converter a nossa string toda para letra pequena, ou a função UPPER para convertermos a string toda para letra grande
Objectivo: Converter o nome das pessoas todo para letra grande
Query:
SELECT UPPER( nome )
FROM `tbl_pplware`
Resultado
Função CONCAT
E se necessitar-mos de unir strings ? Nesse caso utilizamos a função CONCAT.
Sintaxe
SELECT CONCAT(string1’, ‘string2, ‘string3)
Objectivo: Criar um email para as pessoas, sendo que no nome não poderão existir espaços e os mesmos serão substituídos por pontos, o nome será todo escrito em letra pequena e no fim sera adicionado a string @pplware.com
Query
SELECT CONCAT( REPLACE( LOWER( nome ) , ' ', '.' ) , '@pplware.com' ) AS email
FROM tbl_pplware
Resultado:
Esta semana ficamos por aqui. Esperamos que tenham gostado do tema do artigo de hoje e no caso de conhecerem mais funções não se esqueçam de partilhar connosco. Bom fim de semana!
- Vamos dar uns toques em queries SQL?
- Vamos dar uns toques em queries SQL? II
- Vamos dar uns toques em queries SQL? III
- Vamos dar uns toques em queries SQL? IV
- Vamos dar uns toques de SQL? V
- Vamos dar uns toques de SQL? VI
- Vamos dar uns toques de SQL? VII
- Vamos dar uns toques de SQL? VIII
- Vamos dar uns toques de SQL? IX
- Cábula” do MySQL