Problema:
Você gostaria de obter o mês de um campo de data em um banco de dados SQL Server.
Exemplo:
Nosso banco de dados tem uma tabela chamada
Furniture
com dados nas colunas Id
, Name
e ProducedDate
. Id | Nome | Data de produção |
---|---|---|
1 | sofá | 2018-01-10 |
2 | cadeira | 2018-01-05 |
3 | mesa | 20-06-2018 |
4 | estante | 2018-11-15 |
Vamos pegar o mês da
ProducedDate
de cada produto e descobrir quais móveis foram produzidos em um determinado mês. Solução:
Usaremos o
MONTH()
função. Aqui está a consulta que você escreveria:SELECT Name, MONTH(ProducedDate) AS ProducedMonth FROM Furniture;
Segue o resultado da consulta:
Nome | ProduzidoMês |
---|---|
sofá | 1 |
cadeira | 1 |
mesa | 6 |
estante | 11 |
Discussão:
Para obter um mês de um campo de data no SQL Server, use o
MONTH()
função. Esta função recebe apenas um argumento – a data. Pode ser um tipo de dados de data ou data e hora. (No nosso exemplo, a coluna ProducedDate
é da data tipo de dados.) O argumento pode ser um nome de coluna ou uma expressão. (No nosso exemplo, é o ProducedDate
coluna). MONTH()
retorna o número do mês como um número inteiro de 1 a 12. Para a mesa item, o ProducedMonth
o valor é 6 (retornado do 'YYYY-MM-DD'
data '2018-06-20'
).