Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 в datetime изменить день или месяц  [new]
ITW
Member

Откуда:
Сообщений: 52
Как в дате поменять номер месяца день или год но при этом оставить время?
23 ноя 11, 00:18    [11641416]     Ответить | Цитировать Сообщить модератору
 Re: в datetime изменить день или месяц  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22550
dateadd
23 ноя 11, 00:51    [11641491]     Ответить | Цитировать Сообщить модератору
 Re: в datetime изменить день или месяц  [new]
ITW
Member

Откуда:
Сообщений: 52
dateadd не подходит.
например:
DATEADD(DAY, DAY(@FromDate)-DAY(e.SDateTime), e.DateTime)
но если e.SDateTime 31 а @FromDate 1 то оно не правильно работает.
а нужно просто в дате поменять номер дня или месяца
23 ноя 11, 13:52    [11644271]     Ответить | Цитировать Сообщить модератору
 Re: в datetime изменить день или месяц  [new]
trew
Member

Откуда: Москва
Сообщений: 2646
ITW,

select DATEADD(d,3, getdate())
23 ноя 11, 13:55    [11644311]     Ответить | Цитировать Сообщить модератору
 Re: в datetime изменить день или месяц  [new]
trew
Member

Откуда: Москва
Сообщений: 2646
ITW,

но если e.SDateTime 31 а @FromDate 1 то оно не правильно работает.

Так может даты нужно вычитать, а не дни?
23 ноя 11, 13:57    [11644345]     Ответить | Цитировать Сообщить модератору
 Re: в datetime изменить день или месяц  [new]
trew
Member

Откуда: Москва
Сообщений: 2646
ITW,

select DATEDIFF(d,getdate(),'20111231')
23 ноя 11, 13:58    [11644363]     Ответить | Цитировать Сообщить модератору
 Re: в datetime изменить день или месяц  [new]
Glory
Member

Откуда:
Сообщений: 104751
ITW
но если e.SDateTime 31 а @FromDate 1 то оно не правильно работает.
а нужно просто в дате поменять номер дня или месяца

Неправильно работает - это значит не прибавляет к e.DateTime указанное вами количество дней ?
23 ноя 11, 14:00    [11644388]     Ответить | Цитировать Сообщить модератору
 Re: в datetime изменить день или месяц  [new]
invm
Member

Откуда: Москва
Сообщений: 9838
select getdate(), dateadd(day, 3, dateadd(day, -day(getdate()), getdate()))
23 ноя 11, 14:05    [11644437]     Ответить | Цитировать Сообщить модератору
 Re: в datetime изменить день или месяц  [new]
ITW
Member

Откуда:
Сообщений: 52
invm,

Спасибо. это метод работает :)
но возникла другая задача )) как в дате установить текущую неделю?
например есть дата 12-11-2011 субота
нужно установить текущую номер недели чтобы было 26-11-2011 (тоже субота в текущей неделе)

Заранее спасибо
23 ноя 11, 14:12    [11644528]     Ответить | Цитировать Сообщить модератору
 Re: в datetime изменить день или месяц  [new]
Зайцев Фёдор
Member

Откуда: Лужки
Сообщений: 5308
ITW
invm,

Спасибо. это метод работает :)
но возникла другая задача )) как в дате установить текущую неделю?
например есть дата 12-11-2011 субота
нужно установить текущую номер недели чтобы было 26-11-2011 (тоже субота в текущей неделе)

Заранее спасибо

прибавить разницу в неделях. наймите программиста уже
23 ноя 11, 14:18    [11644568]     Ответить | Цитировать Сообщить модератору
 Re: в datetime изменить день или месяц  [new]
ITW
Member

Откуда:
Сообщений: 52
Зайцев Фёдор,
есть ))
select getdate(), dateadd(week, 50, dateadd(week, -DATEPART(week, getdate()), getdate()))
23 ноя 11, 14:24    [11644614]     Ответить | Цитировать Сообщить модератору
 Re: в datetime изменить день или месяц  [new]
iap
Member

Откуда: Москва
Сообщений: 47145
ITW,

замените, пожалуйста, в дате 30 июня 2011 года день на 31. Получилось?
А в дате 29 февраля 2012 года - год на 2013?

Задача изначально некорректна. IMHO
23 ноя 11, 15:01    [11645069]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить