Я пытаюсь получить конкретный день года.Получить конкретную дату года на сервере Sql
Вот что я пытался до сих пор: -
-- Declare few variables
DECLARE @Currentdate AS DATETIME
DECLARE @DueDate AS DATETIME
DECLARE @NewDate AS DATETIME
-- Set the variables properly, just for testing
SET @Currentdate = GETDATE()
SET @DueDate = DATEADD(MONTH, 2, DATEADD(YEAR, 1, @Currentdate))
-- Check the output
SELECT @Currentdate -- 2013-09-30 00:00:00.000
SELECT @DueDate -- 2014-11-30 00:00:00.000
Итак, я хочу, чтобы получить @NewDate
на основе @Currentdate
года. Для этого я попробовал: -
SELECT @NewDate = DATEADD(DAY, DAY(DATEDIFF(day, 1, @DueDate)), DATEADD(MONTH, DATEDIFF(MONTH, 0, @Currentdate), 0))
SELECT @NewDate -- 2013-09-30 00:00:00.000
Но это не сработало. :(
Мой ожидаемый результат, как:
-- 2013-11-30 00:00:00.000
-- Having the due date month and date same, but the year as current date one.
Любая помощь приветствуется
UPDATE
Извините за всю путаницу я создал свой вопрос в простых словах. : -
Я хочу получить новую переменную даты, имеющую дату и месяц, такую же, как @DueDate
, но год, указанный в переменной @Currentdate
.
Я надеюсь, что это немного прояснит ситуацию.
Я запутался. Что такое * конкретный * день? – Kermit
К конкретному дню я имею в виду день и месяц переменной @ @ DueDate. –
Вы посмотрели функцию datepart? –