Проблем:
Искате да получите годината от поле за дата в база данни на SQL Server.
Пример:
Нашата база данни има таблица с име Children с данни в колоните Id , FirstName , LastName и BirthDate .
| Id | Име | Фамилия | Дата на раждане |
|---|---|---|---|
| 1 | Джейн | Смит | 20.06.2018 |
| 2 | Гари | Кафяв | 2010-02-02 |
| 3 | Лора | Адамс | 05.11.2014 |
Нека вземем годината от рождената дата на всяко дете.
Решение:
Ще използваме YEAR() функция. Ето заявката, която бихте написали:
SELECT FirstName,
LastName,
YEAR(BirthDate) AS BirthYear
FROM Children;
Ето резултата от заявката:
| First Name | Фамилия | Година на раждане |
|---|---|---|
| Джейн | Смит | 2018 |
| Гари | Кафяв | 2010 |
| Лора | Адамс | 2014 |
Дискусия:
Използвайте YEAR() на SQL Server функция, ако искате да получите частта за годината от дата. Тази функция приема само един аргумент – дата, в един от типовете данни за дата и час или дата. (В нашия пример колоната BirthDate е дата тип данни). Аргументът може да бъде име на колона или израз. (В нашия пример аргументът е BirthDate колона.)
YEAR() функцията връща цяло число. За Джейн Смит , връща цялото число 2018 от рождената дата '2018-06-20' .