SQL Server e MySQL na função Data
SQL Data (datas)
Quando lidamos com a data, é, provavelmente, a tarefa mais difícil garantir que o formato de data inserido corresponder ao formato de data na coluna de banco de dados.
Enquanto seus dados contém apenas a parte de data, as consultas vai dar errado. No entanto, se o componente de tempo envolvido, a situação é um pouco complicada.
Antes de discutir a complexidade da data de consulta, vamos olhar para as funções de processamento de data built-in mais importantes.
MySQL Data Funções
A tabela a seguir lista os mais importantes funções internas de data do MySQL:
函数 | 描述 |
---|---|
NOW() | 返回当前的日期和时间 |
CURDATE() | 返回当前的日期 |
CURTIME() | 返回当前的时间 |
DATE() | 提取日期或日期/时间表达式的日期部分 |
EXTRACT() | 返回日期/时间的单独部分 |
DATE_ADD() | 向日期添加指定的时间间隔 |
DATE_SUB() | 从日期减去指定的时间间隔 |
DATEDIFF() | 返回两个日期之间的天数 |
DATE_FORMAT() | 用不同的格式显示日期/时间 |
Servidor Data Funções SQL
A tabela a seguir lista o SQL Server nos mais importantes funções de data built-in:
函数 | 描述 |
---|---|
GETDATE() | 返回当前的日期和时间 |
DATEPART() | 返回日期/时间的单独部分 |
DATEADD() | 在日期中添加或减去指定的时间间隔 |
DATEDIFF() | 返回两个日期之间的时间 |
CONVERT() | 用不同的格式显示日期/时间 |
Tipos de Dados SQL Data
MySQL usa os seguintes tipos de dados armazenados nos valores de data ou de data / hora no banco de dados:
- DATA - Formato: AAAA-MM-DD
- DATETIME - Formato: AAAA-MM-DD HH: MM: SS
- TIMESTAMP - Formato: AAAA-MM-DD HH: MM: SS
- ANO - Formato: AAAA ou YY
SQL Server usa os seguintes tipos de dados armazenados nos valores de data ou de data / hora no banco de dados:
- DATA - Formato: AAAA-MM-DD
- DATETIME - Formato: AAAA-MM-DD HH: MM: SS
- SMALLDATETIME - Formato: AAAA-MM-DD HH: MM: SS
- TIMESTAMP - Formato: A única digitais
Nota: Quando você cria uma nova tabela no banco de dados, você precisa selecionar um tipo de dados para a coluna!
Para todos os tipos de dados disponíveis, por favor visite o nosso completos Tipos de Dados Manual de Referência .
Data Processing SQL
Se a parte não envolve tempo, então podemos facilmente comparar duas datas!
Suponha que temos os seguintes "Pedidos" tabela:
OrderId | ProductName | OrderDate |
---|---|---|
1 | Geitost | 2008-11-11 |
2 | Camembert Pierrot | 2008-11-09 |
3 | Mozzarella di Giovanni | 2008-11-11 |
4 | Mascarpone Fabioli | 2008-10-29 |
Agora queremos selecionar OrderDate como "2008-11-11" registros da tabela.
Nós usamos a seguinte instrução SELECT:
O conjunto de resultados da seguinte forma:
OrderId | ProductName | OrderDate |
---|---|---|
1 | Geitost | 2008-11-11 |
3 | Mozzarella di Giovanni | 2008-11-11 |
Agora, suponha que "Pedidos" tabela é a seguinte (note "OrderDate" tempo parcial coluna):
OrderId | ProductName | OrderDate |
---|---|---|
1 | Geitost | 2008-11-11 13:23:44 |
2 | Camembert Pierrot | 2008-11-09 15:45:21 |
3 | Mozzarella di Giovanni | 2008-11-11 11:12:01 |
4 | Mascarpone Fabioli | 2008-10-29 14:56:59 |
Se usarmos a mesma instrução SELECT como acima:
Então, vamos obter resultados! Isto é devido à data da consulta contém nenhuma parte de tempo.
Dica: Se você quiser fazer consultas simples e fácil de manter, então por favor não use os componentes de tempo em suas datas!