Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как правельно сделать update? 
:(
    Опции темы
novichek
Дата 4.3.2008, 08:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 21.9.2007

Репутация: нет
Всего: нет



Народ если в поле типа smalldatetime со значением 2007-11-12 14:22:00 надо сделать update даты и оставляя время тем же, как это правельно сделать?
PM MAIL ICQ   Вверх
Itsys
Дата 4.3.2008, 19:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1338
Регистрация: 21.1.2008
Где: г. Москва

Репутация: 1
Всего: 34



Правильно при апдейте выделить из значения время и прибавить его к нужной дате
PM MAIL WWW Skype   Вверх
SharedNoob
Дата 5.3.2008, 09:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 125
Регистрация: 25.6.2007
Где: UA

Репутация: 2
Всего: 5



А собственно какие проблемы ?
Код

   Update t set
          date=date+10
     from table t


где date - это ваша дата '2007-11-12 14:22:00'
а 10 - количество дней которые нужно прибавить (или убавить) в дате.
для подсчета разницы дней между датами можно использовать функцию datediff (см help)

Это сообщение отредактировал(а) SharedNoob - 5.3.2008, 09:45
PM MAIL ICQ Skype   Вверх
nawok78
Дата 13.3.2008, 10:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 13.3.2008

Репутация: нет
Всего: нет



функция отсекает время от DATETIME'а
Код

CREATE FUNCTION DATETIME_AS_DATE (@DATE_TIME DATETIME)  
RETURNS DATETIME 
AS  
BEGIN
RETURN CAST (FLOOR(CAST(@DATE_TIME AS FLOAT)) AS DATETIME)
END

напиши еще такую же для время - и вперед 
Дата=Новая_Дата+Выделить_Время(Дата)
PM MAIL   Вверх
Magnifico
Дата 13.3.2008, 11:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 418
Регистрация: 23.1.2008
Где: Московская област ь

Репутация: 10
Всего: 17



Цитата

функция отсекает время от DATETIME'а


Код

select dbo.DATETIME_AS_DATE(getdate())

че то неотсекается?       просто обнулятся.
2008-03-13 00:00:00.000

можно отсечь так дату
Код

select  left(convert(varchar(19), (cast(getdate() as smalldatetime)), 121),10)


и время
Код

select right(convert(varchar(19), (cast(getdate() as smalldatetime)), 121),9)



--------------------
Всё  в  порядке   -   спасибо  зарядке  !
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS SQL"
Akina

Akina

Запрещается!

Публиковать ссылки и обсуждать взлом чего бы то ни было.

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы составления неспецифических запросов рассматриваются здесь
  • Используйте теги [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS SQL Server | Следующая тема »


 




[ Время генерации скрипта: 0.0435 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.