Sajid227 Ответов: 1

Как добавить столбец типа данных time в SQL server


У меня есть таблица в SQL Server 2012,с столбец с именем продолжительности, как тип данных время.я хочу, чтобы обновить эти базы колонны на разницу времени, добавив разницу в этом столбце длительность.как я могу это сделать в SP.


ID    StartDate               EndDate                 Duration
1     2017-02-27 09:10:35     2017-02-27 09:25:35      00:15
2     2017-02-27 09:26:35   2017-02-27 09:36:35        00:25

Продолжительность всегда менее 24 часов.

Что я уже пробовал:

UPDATE  EmployeeDuration
                       SET     TimeSpan = CAST(@Durtion AS TIME)

                       WHERE   ID = @Id

Nitinjain0101

Какой тип данных является вашей переменной @Duration?

Sajid227

его тип данных времени

1 Ответов

Рейтинг:
2

Garth J Lancaster

Я уже давно не использую TSQL, очень быстрая мысль подсказывает, что вам нужно что-то вроде

CREATE PROC sp_UpdateDuration (
    @id integer)
AS
    BEGIN
	UPDATE EmployeeDuration E
	    Set E.Duration = DateDiff(day, E.StartDate, E.EndDate)
	    Where E.id = @id;
    END
GO


и вы называете это как

EXEC dbo.sp_UpdateDuration @id = (Row Id);


хотя у меня такое чувство, что вам лучше использовать курсор, если вы хотите обновить более одной строки