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

Откуда: г. Екатеринбург
Сообщений: 670
Добрый день.


есть время и дата, как сложить?

DECLARE @RunTime TIME(0) = '16:00:00'
DECLARE @Date DATETIME = '01.01.2019'

SELECT @Date + @RunTime


В 2008 скуле всё работало... в 2016 работать перестало... подскажите в 2016 какие методы сложения использовать
4 апр 19, 16:03    [21852897]     Ответить | Цитировать Сообщить модератору
 Re: Как прибавить к дате время  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
Игорь_UUS,

SELECT @Date + CAST(@RunTime as datetime)
4 апр 19, 16:11    [21852912]     Ответить | Цитировать Сообщить модератору
 Re: Как прибавить к дате время  [new]
Игорь_UUS
Member

Откуда: г. Екатеринбург
Сообщений: 670
TaPaK
Игорь_UUS,

SELECT @Date + CAST(@RunTime as datetime)


Спасибо!
4 апр 19, 16:14    [21852918]     Ответить | Цитировать Сообщить модератору
 Re: Как прибавить к дате время  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
DECLARE @RunTime TIME(0) = '16:00:00'
DECLARE @Date DATETIME = '20190317'

/*1*/
SELECT CAST(CONVERT(VARCHAR(8),@Date,112)+' '+CONVERT(VARCHAR(8),@RunTime,8)AS DATETIME);
/*2*/
SELECT CAST(CONVERT(VARCHAR(10),@Date,120)+'T'+CONVERT(VARCHAR(8),@RunTime,8)AS DATETIME);
4 апр 19, 16:16    [21852927]     Ответить | Цитировать Сообщить модератору
 Re: Как прибавить к дате время  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4684
Игорь_UUS,

DECLARE @RunTime TIME(2) = '16:01:02.123'
DECLARE @Date DATETIME = '20190317'

SELECT DATETIMEFROMPARTS ( 
	year(@date) , month(@date), day(@date), 
	DATEPART(hour, @Runtime), DATEPART(minute,@Runtime), 
	DATEPART(second, @Runtime), DATEPART(millisecond, @Runtime) )  
4 апр 19, 18:53    [21853136]     Ответить | Цитировать Сообщить модератору
 Re: Как прибавить к дате время  [new]
L_argo
Member

Откуда:
Сообщений: 1192
DATETIMEFROMPARTS только в новых версиях сервера. Непонятно, чего тянули 20лет.
4 апр 19, 21:41    [21853281]     Ответить | Цитировать Сообщить модератору
 Re: Как прибавить к дате время  [new]
Игорь_UUS
Member

Откуда: г. Екатеринбург
Сообщений: 670
L_argo
DATETIMEFROMPARTS только в новых версиях сервера. Непонятно, чего тянули 20лет.


Да, неплохая возможность начиная с 2012-го, но считаю самый удобный способ было предложен TaPaK:

SELECT @Date + CAST(@RunTime as datetime)
5 апр 19, 07:57    [21853485]     Ответить | Цитировать Сообщить модератору
 Re: Как прибавить к дате время  [new]
StarikNavy
Member

Откуда: Москва
Сообщений: 2394
L_argo
DATETIMEFROMPARTS только в новых версиях сервера. Непонятно, чего тянули 20лет.

дык, 20 лет и без нее прекрасно обходились)
5 апр 19, 10:49    [21853680]     Ответить | Цитировать Сообщить модератору
 Re: Как прибавить к дате время  [new]
a_voronin
Member

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

2012 это считается новая?
5 апр 19, 13:33    [21853983]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить