BhSite - Tutorial de MySql - pag22 <a href="http://www.bhsite.com.br">hospedagem</a> DE <a href="http://www.bhsite.com.br">sites</a> REGISTRO DE DOMINIO GRATIS

Via Boleto Bancário
Login:
Senha:
Hospedagem de Sites
- Estrutura
- Contratar
- Planos
- Revenda
Registro de Domínios
- Registre seu Domínio
Suporte
- Help Desk
- Atendimento via E-mail
Atendimento Telefônico
Atendimento Telefônico

Suporte BHSite (Hospedagem de Sites)
 


Guia passo a passo do MySQL


Tutorial de MySQL

 

Página 22

Há uma pequena complicação se o mês corrente é dezembro. Você não faz somente a soma do número do mês (12) e espera animais produzidos em mês 13, porque não há tal mês. Você espera animais produzidos em janeiro (mês 1).
Você pode até mesmo escrever a pergunta de modo que isto trabalhe com nenhuma matéria do mês corrente. Aquele caminho que você não tem que usar um número de mês particular na pergunta. DATE_ADD() permite você somar um intervalo do tempo para uma data dada. Se você soma um mês ao valor de NOW(), então o mês desfaz-se MONTH(), o resultado produzido é o mês em que esperávamos os aniversários:

mysql> SELECT name, birth FROM pet
    -> WHERE MONTH(birth) = MONTH(DATE_ADD(NOW(), INTERVAL 1 MONTH));

Um caminho diferente para efetuar a mesma tarefa é somar 1 para obter o próximo mês depois o mês corrente:

mysql> SELECT name, birth FROM pet
    -> WHERE MONTH(birth) = MOD(MONTH(NOW()), 12) + 1;

Note que MÊS volta um número entre 1 e 12. e MOD(alguma coisa,12) volta um número entre 0 e 11. Assim a adição tem que estar depois de MOD() de outra maneira nós poderíamos ir de Novembro (11) para Janeiro (1).

 

Trabalhando com valores NULOS

O valor NULL pode ser surpreendente até você se acostumar a isto. Conceitualmente, valores NULL são valores desconhecidos e isto é tratado diferentemente dos outros valores.
Para testar NULL, você não pode usar os operadores de comparação de aritmética tal como =, < ou !=. Para demonstrar isto, tenta a seguinte pergunta:

mysql> SELECT 1 = NULL, 1 != NULL, 1 < NULL, 1 > NULL;
+----------+-----------+----------+----------+
| 1 = NULL | 1 != NULL | 1 < NULL | 1 > NULL |
+----------+-----------+----------+----------+
|     NULL |      NULL |     NULL |     NULL |
+----------+-----------+----------+----------+

Claramente você obtém nenhum resultado significativo destas comparações. Use os operadores IS NULL e IS NOT NULL:

mysql> SELECT 1 IS NULL, 1 IS NOT NULL;
+-----------+---------------+
| 1 IS NULL | 1 IS NOT NULL |
+-----------+---------------+
|         0 |             1 |

 

 



hospedagem de sites E REGISTRO DE DOMÍNIO GRATIS É NA BHSITE.COM.BR