Проблем:
Искате да получите месеца от поле за дата в база данни на SQL Server.
Пример:
Нашата база данни има таблица с име Furniture с данни в колоните Id , Name и ProducedDate .
| Id | Име | ProducedDate |
|---|---|---|
| 1 | диван | 10.01.2018 |
| 2 | стол | 2018-01-05 |
| 3 | бюро | 20.06.2018 |
| 4 | библиотечка | 15.11.2018 |
Нека получим месеца от ProducedDate на всеки продукт и разберете кои мебели са произведени през даден месец.
Решение:
Ще използваме MONTH() функция. Ето заявката, която бихте написали:
SELECT Name, MONTH(ProducedDate) AS ProducedMonth FROM Furniture;
Ето резултата от заявката:
| Име | ProducedMonth |
|---|---|
| диван | 1 |
| стол | 1 |
| бюро | 6 |
| библиотечка | 11 |
Дискусия:
За да получите месец от поле за дата в SQL Server, използвайте MONTH() функция. Тази функция приема само един аргумент – датата. Това може да бъде тип данни за дата или дата и час. (В нашия пример колоната ProducedDate е на дата тип данни.) Аргументът може да бъде име на колона или израз. (В нашия пример това е ProducedDate колона).
MONTH() връща номера на месеца като цяло число от 1 до 12. За бюро елемент, ProducedMonth стойността е 6 (връща се от 'YYYY-MM-DD' дата '2018-06-20' ).