Posted on September 26, 2007 by talibamartins
O mysql dispõe de varias funções de arredondamento:
CEILING – Arredonda para cima
mysql> SELECT CEILING(2.5) ;
mysql>3
FLOOR – Arredonda para baixo
mysql> SELECT FLOOR(2.5) ;
mysql>2
ROUND – Arredonda para o proximo inteiro
mysql> SELECT ROUND(2.51) ;
mysql>3
TRUNCATE – Elimina as casas decimais
mysql> SELECT TRUNCATE(2.5) ;
mysql>2
Filed under: Dicas, Mysql | Tagged: Arrendondar, ceil(), Mysql, round(), truncate | 1 Comment »
Posted on September 26, 2007 by talibamartins
Muitas vezes precisamos fazer uma consulta, onde uma string ou inteiro devem estar entre 2 ou mais valores, por exemplo, preciso listar todos os clientes com cep = ‘79004-580′,’82020-050′,’80010-060′ ou ‘11010-040′. Se você nao conhece a função IN logo pensaria em usar OR, mas não é necessário tanto, vamos à query:
mysql> select * from tb_cliente [...]
Filed under: Dicas, Mysql | Tagged: SELECT IN, subquery | Leave a Comment »
Posted on September 26, 2007 by talibamartins
Poucos sabem, mas existe no mysql 2 maneiras de fazer insert caso nao exista o registro e update caso exista, REPLACE e INSERT … ON DUPLICATE KEY UPDATE. A syntaxe é seguinte:
mysql> REPLACE tb_table (tbl_id,tbl_name) VALUES (‘1′,’Jão’);
Caso ja exista a chave ‘1′ o REPLACE apaga a linha e insere um novo registro com o ID [...]
Filed under: Dicas, Mysql | Tagged: Ajudas, Dicas, insert, Mysql, replace | 3 Comments »
Posted on September 20, 2007 by talibamartins
Preciso saber quais são os registros entre 2 datas, por exemplo, todos os clientes que se cadastraram entre 2 datas.
Simples vamos usar o BETWEEN.
-> SELECT cli_id,cli_nome FROM tb_clientes WHERE cli_dtcadastro BETWEEN ‘2007-08-01′ AND ‘2007-08-10′;
Mysql é muito facil nao é?
Filed under: Dicas | 1 Comment »
Posted on September 20, 2007 by talibamartins
É muito chato tratar coisas simples na aplicação, como o status de um registro, se for 0 é inativo, se for 1 esta ativo.
Vamos trata logo na consulta, muito mais rapido. veja o exemplo usando IF:
-> SELECT IF( tbl_status =0,’Inativo’,’ativo’) AS status FROM tb_tabela
Agora temos uma tabela com mais status, (1,2,3 e 4) , vamos [...]
Filed under: Dicas | 6 Comments »
Posted on September 20, 2007 by talibamartins
Me animei a escrever posts pequenos novamente, enquanto preparo a segunda leva sobre stored procedures.
Esse é muito útil, principalmente a nós Brasileiros, ja que o padrão utilizado para os campos DATE e DATETIME são americanos(YYYY-MM-DD), e nós usamos (DD-MM-YYYY).
Agora ao fazer uma busca numa tabela que tem um campo data, nao é necessário tratar com [...]
Filed under: Dicas | 2 Comments »
Posted on September 20, 2007 by talibamartins
Hoje me bati um bocado procurando como trazer o primeiro caracter numa consulta no mysql, lembrando do php estava tentando o substr, substring, que é claro nao deu certo. até que lendo a documentação, achei o que precisava, a função LEFT, que retorna uma quantidade de caracteres a esquerda de uma string.
Vamos à consulta:
[...]
Filed under: Dicas | Leave a Comment »