В настоящее время у меня есть таблица с именами, день рождения и месяц рождения.SQL Server список дней рождения по месяцам и дням
Пример таблицы данных:
Name Day Month
Joe Bloggs 21 10
Billy Earner 12 6
Я построил запрос, который будет заполнять там день рождения на текущий год (2016 г.):
SELECT
MyCalendarID,
Name,
CAST(CAST(DATEPART(YEAR, GETDATE()) AS varchar) + '-' + CAST(TheMonth AS varchar) + '-' + CAST(TheDay AS varchar) AS DATE) AS TheBirthday
FROM MyCalendar
Пример данных из запроса:
Name DOB
Joe Bloggs 2016-10-21
Billy Earner 2016-06-12
Однако я хочу, чтобы это можно было заполнить в течение следующего года, а также в той же таблице. так эта таблица будет отображаться там дни рождения 2016 и 2017.
Вопрос: Возможно ли это, и если да, то как бы я идти о создании этой точки зрения в SQL Server
Ожидаемые результаты:
Name DOB
Joe Bloggs 2016-10-21
Billy Earner 2016-06-12
Joe Bloggs 2017-10-21
Billy Earner 2017-06-12
Дополнительная информация:
Как я не хочу эту точку зрения, чтобы добраться до большой, я только хочу, чтобы вид для отображения текущего года, и т он в следующем году. Так как только 2017 год приходит, я хочу это мнение, чтобы настроить, чтобы показать 2017 год, и 2018
Спасибо за помощь в этом вопросе, им в надежде его не собирается быть сложной
Таблица Создание и данных:
CREATE TABLE MyCalendar (MyCalendarID INT IDENTITY (1,1) NOT NULL,
Name VARCHAR(50),
TheDay INT,
TheMonth INT)
ALTER TABLE MyCalendar ADD CONSTRAINT MyCalendarID_PK PRIMARY KEY (MyCalendarID)
INSERT INTO MyCalendar VALUES ('Joe Bloggs', 21, 10)
INSERT INTO MyCalendar VALUES ('Billy Earner', 12, 6)
Какой версией SQL-сервера вы работаете? –
У меня есть дата-центр 2016 – Crezzer7