Palavra:   

Revista PHP / Banco de Dados

Flávia Jobstraibizer

Analista de sistemas, DBA Mysql, PostgreSQL, Oracle, SQLServer e Firebird. Desenvolvedora de sistemas, e administradora de servidores FreeBSD. Conheça o site www.flaviajobs.com.br

Formatando saída de dados direto na query sql - MySQL

Afim de eliminar algumas linhas de código com formatações, e ganhar tempo no desenvolvimento de aplicações, você pode trazer diversos dados já formatados do seu banco de dados.
Neste artigo vou mostrar exemplos de MySQL, porém sabendo a sintaxe correta, você pode usar em qualquer banco de dados.

Trazer dados já formatados do banco de dados, economiza algum processamento em tempo de execução de script PHP, já que o banco fará esta parte do trabalho. Mesmo que você tenha um banco de dados muito acessado, o desempenho de realizar consultas pré formatadas é tão bom quanto o de script em tempo de execução.

Alguns dados que você pode trazer formatados são:

Data e hora:
O retorno de uma sintaxe como esta é a formatação da data no formato indicado.
PHP
  1. SELECT DATE_FORMAT('2008-06-25 22:23:00', '%d/%m/%Y %H:%i:%s');
www.revistaphp.com.br

Diferença entre datas:
Calculando a diferença em dias, entre duas datas. O retorno da select abaixo, será 1.
PHP
  1. SELECT DATEDIFF('20087-06-25 23:59:59','2008-06-30');
www.revistaphp.com.br

Selecionar somente determinado intervalo de data:
Desta forma estou trazendo apenas os resultados dos próximos 5 dias a partir da data especificada
PHP
  1. SELECT INTERVAL 5 DAY + '2008-06-25';
www.revistaphp.com.br

Quantidade de linhas de resultado:
Estou solicitando da tabela clientes, os que estejam no estado de SP, e então, trazendo as linhas encontradas.
PHP
  1. mysql> SELECT SQL_CALC_FOUND_ROWS * FROM clientes WHERE estado = "SP";
  2. mysql> SELECT FOUND_ROWS();
www.revistaphp.com.br
Concatenação de dados:
Você pode trazer concatenados determinados dados ou strings
PHP
  1. SELECT CONCAT('My', 'S', 'QL'); #exemplo do manual do Mysql
  2. SELECT CONCAT(campo1,campo2);
www.revistaphp.com.br
Trazendo parte de uma string:
No exemplo abaixo, o resultado será "meute", pois estou trazendo os primeiros 5 carcteres da string definida.
PHP
  1. SELECT LEFT('meutexto', 5);
www.revistaphp.com.br
Substituindo determinada ocorrência por outra:
No exemplo abaixo, estou trocando o W maiúsculo por minúsculo, direto no select.
PHP
  1. SELECT REPLACE('WWW.mysql.com', 'W', 'w');
www.revistaphp.com.br
Transformando string em maiusculas (também há o inverso)
PHP
  1. SELECT UPPER('Revistaphp.com.br'); #o resultado desta select será REVISTAPHP.COM>BR
www.revistaphp.com.br
Soma de valores:
Utilizado para somar os valores de um determinado campo especificado pela função SUM()
PHP
  1. SELECT nome, SUM(preco) FROM produtos
www.revistaphp.com.br
O SQL é muito vasto, somente lendo a documentação do seu SGBD é que você saberá as sintaxes corretas, porém em sua grande maioria, as sintaxes padrão funcionarão normalmente.
Os exemplos que demonstrei não são nem 1% de tudo o que você pode fazer. Apenas esclareço que você pode sim, tornar suas consultas melhores e economizando linhas de código, trazendo determinados dados já formatados!

Bons códigos!

Opções de Interação

Comentários

date_format no php
Por: Tylër, 27/07/2010   19:44:29
bom, isso não é aconselhável, pois deixa as consultas mais lentas, já a manipulação desses dados pelo php seria mais viável! :]
Muito Bom
Por: Gedson, 04/08/2008   07:40:09
Sempre esqueço esses detalhes do sql, toda vez que preciso vou procurar no google rsrs...

Vou adicionar nos favoritos ;P

Muito bom o artigo!
Verdade
Por: Alexandre, 11/07/2008   18:01:41
é muito útil formatar os dados já na consulta. Curti o artigo
Valeu