Проблем:
Искате да получите месеца от поле за дата в база данни на 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'
).