Обновление значения месяца в поле даты в MS sql 2005 - PullRequest
0 голосов
/ 02 октября 2008

Мне нужен способ обновить значение месяца в поле dateTime в моей БД. У меня нет значения int за месяц, и мне нужно использовать его для обновления. Возможно ли это сделать в операторе sql или лучше всего сделать это на c # в веб-сервисе?

Ответы [ 2 ]

2 голосов
/ 02 октября 2008

Сдвиг, а затем снова вверх:

UPDATE table
SET datecol = DATEADD(m, @newmonth, DATEADD(m, -MONTH(datecol), datecol))
WHERE id = @id

или, проще:

UPDATE table
SET datecol = DATEADD(m, @newmonth - MONTH(datecol), datecol)
WHERE id = @id
1 голос
/ 02 октября 2008

Вы можете сделать все это на TSQL в Sql Server. Ознакомьтесь с функциями DateDiff и DateAdd .

Я ожидаю, что это сработает:

DECLARE @newMonth int
SET @newMonth = 5 --As an example

UPDATE dbo.TheTable
SET DateField = DATEADD(month, @newMonth - DATEPART(month, DateField) , DateField)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...