Função Date SQL
- Página anterior View do SQL
- Próxima página Nulls do SQL
Data SQL
Quando lidamos com data, a tarefa mais difícil talvez seja garantir que o formato da data inserida coincida com o formato da coluna de data no banco de dados.
Se os dados contiverem apenas a parte de data, a execução da consulta não apresentará problemas. Mas, se envolver tempo, a situação se torna um pouco complexa.
Antes de discutir a complexidade das consultas de data, vamos olhar para as funções de processamento de data mais importantes:
Funções de data do MySQL
A tabela a seguir lista as funções de data mais importantes do MySQL:
Função | Descrição |
---|---|
NOW() | Retorna a data e hora atuais |
CURDATE() | Retorna a data atual |
CURTIME() | Retorna a hora atual |
DATE() | Extrai a parte de data de uma expressão de data/data/hora |
EXTRACT() | Retorna partes individuais de data/hora conforme a especificação |
DATE_ADD() | Adicionar intervalos de tempo especificados a uma data |
DATE_SUB() | Subtrair intervalos de tempo especificados de uma data |
DATEDIFF() | Retorna o número de dias entre duas datas |
DATE_FORMAT() | Exibir data/hora em diferentes formatos |
Funções de data do SQL Server
A tabela a seguir lista as funções de data mais importantes do SQL Server:
Função | Descrição |
---|---|
GETDATE() | Retorna a data e hora atuais |
DATEPART() | Retorna partes individuais de data/hora |
DATEADD() | Adicionar ou subtrair intervalos de tempo especificados em uma data |
DATEDIFF() | Retorna o tempo entre duas datas |
CONVERT() | Exibir data/hora em diferentes formatos |
Tipo de dados SQL Date
MySQL usa os seguintes tipos de dados para armazenar valores de data ou data/hora no banco de dados:
- DATE - Formato YYYY-MM-DD
- DATETIME - Formato: YYYY-MM-DD HH:MM:SS
- TIMESTAMP - Formato: YYYY-MM-DD HH:MM:SS
- YEAR - Formato YYYY ou YY
O SQL Server usa os seguintes tipos de dados para armazenar valores de data ou data/hora em bancos de dados:
- DATE - Formato YYYY-MM-DD
- DATETIME - Formato: YYYY-MM-DD HH:MM:SS
- SMALLDATETIME - Formato: YYYY-MM-DD HH:MM:SS
- TIMESTAMP - Formato: Número único
Manutenção de datas do SQL
Se não envolver a parte de tempo, podemos comparar duas datas facilmente!
Suponha que tenhamos a seguinte tabela "Orders":
OrderId | ProductName | OrderDate |
---|---|---|
1 | computer | 2008-12-26 |
2 | printer | 2008-12-26 |
3 | electrograph | 2008-11-12 |
4 | telephone | 2008-10-19 |
Agora, queremos escolher os registros da tabela acima cuja OrderDate seja "2008-12-26".
Usamos a seguinte declaração SELECT:
SELECT * FROM Orders WHERE OrderDate='2008-12-26'
Conjunto de resultados:
OrderId | ProductName | OrderDate |
---|---|---|
1 | computer | 2008-12-26 |
3 | electrograph | 2008-12-26 |
Agora suponha que a classe "Orders" seja assim (por favor, note a parte de tempo da coluna "OrderDate"):
OrderId | ProductName | OrderDate |
---|---|---|
1 | computer | 2008-12-26 16:23:55 |
2 | printer | 2008-12-26 10:45:26 |
3 | electrograph | 2008-11-12 14:12:08 |
4 | telephone | 2008-10-19 12:56:10 |
Se usarmos a seguinte declaração SELECT:
SELECT * FROM Orders WHERE OrderDate='2008-12-26'
Então não conseguimos obter resultados. Isso é porque a consulta não contém a parte de tempo da data.
Dica:Se você deseja que a consulta seja simples e mais fácil de manter, não use a parte de tempo na data!
- Página anterior View do SQL
- Próxima página Nulls do SQL