Получите СУММУ типов данных ВРЕМЕНИ (MSSQL08) от таблицы

Вы можете масштабировать iOS-симулятор до желаемого масштаба (я пробовал от 0,2 до 1,4), и это сработало для меня. Для этого вам нужно перейти в / Library / Preferences и отредактировать файл com.apple.iphonesimulator.plist. Отредактируйте значение KEY SimulatorWindowLastScale в соответствии с желаемой шкалой.

Я пробовал это в последней версии Mountain Lion 10.8.4 & amp; Симулятор iOS 6.0.

Наслаждайтесь !!!! Дайте мне знать, сработало ли это для вас, ребята.

7
задан Cade Roux 29 May 2009 в 20:00
поделиться

3 ответа

Я еще не очень много использовал 2008, и у меня нет удобного экземпляра, где бы я мог это проверить, но что-то вроде этого может сработать:

SELECT
     DATEADD(ms, SUM(DATEDIFF(ms, '00:00:00.000', my_time)), '00:00:00.000')
FROM
     dbo.My_Table

Как указывает ле Дорфье, добавлять время немного бессмысленно, потому что они должны представлять время дня. Я исхожу из предположения, что вы используете их для обозначения часов / минут / секунд.

О, и я понятия не имею, что произойдет с указанным выше, если оно продлится более 24 часов.

6
ответ дан 7 December 2019 в 10:06
поделиться

некоторые варианты

ВЫБРАТЬ СУММ (РАЗНДАТ (МИНУТА, '0:00:00', TimeCol)) FROM TimeTable

будут работать, но

вам придется нормализовать путем вычитания части даты из каждого datetime и вам нужно будет преобразовать общее количество минут во время

0
ответ дан 7 December 2019 в 10:06
поделиться

Лучший способ, который я могу придумать, - это проанализировать временные интервалы на компоненты часа, минуты, секунды и миллисекунды, преобразовать все это в миллисекунды (путем сложения и умножения), затем сложить их и использовать модули и вычитание, чтобы преобразовать их. обратно в промежуток времени.

Например

create function dbo.GetMilliseconds (@timespan varchar (16))
    returns int
as
begin
declare @ms int
declare @seconds int
declare @min int
declare @hour int
set @ms = cast(substring(@timespan, 10, 7) as int)
set @seconds = cast(substring(@timespan, 7, 2) as int)
set @min = cast(substring(@timespan, 4,2) as int)
set @hour = cast(substring(@timespan, 1, 2) as int)
return @ms + (@seconds * 1000) + (@min * 60000) + (@hour * 3600000)
end
go

create function dbo.ParseMilliseconds (@timespan int)
    returns varchar (16)
as
begin
declare @hour int
declare @min int
declare @seconds int
declare @ms int
declare @leftover int
set @hour = @timespan / 3600000 /* this will round down */  
set @leftover = @timespan % 3600000
set @min = @leftover / 60000
set @leftover = @leftover % 60000
set @seconds = @leftover / 1000
set @ms = @leftover % 1000
return 'You''ll have to the string conversion yourself'
end
go

А затем SELECT dbo.ParseMilliseconds (sum (dbo.GetMilliseconds (timespan))) as added_timespan

Я не проверял все это, и может будь проще, но я знаю, что это сработает.

0
ответ дан 7 December 2019 в 10:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: