Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Проблема с интервалом времени / 5 сообщений из 5, страница 1 из 1
16.11.2001, 09:18
    #32017119
SergD
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с интервалом времени
Данные поступают из внешней таблицы путем LocalPackage DTSa
в одной колонке внешнего источника хранится информация в текстовом виде
hh:mm:ss (например сколько человек наговорил по тел.) я закачиваю его в поле Datetime своей таблицы, все было хорошо пока не появилось, значение допустим 25:34:45, естественно DTS на этом месте споткнулся и соответственно вопрос, может кто сталкивался с подобным.
как проще сделать трансформацию в интервал времени, чтобы потом показывать пользователям в таком же формате ? И как это сделать с мин. затратами, мне ничего более как преобразовать поле Datetime в varchar или Int(количества сеунд) в голову не приходит, но некрасиво это, скрипты по умолчанию DTSa править придется и сразу лишаюсь вкусностей типа
datediff и т.д. Предлагаю обсудить.

С уважением, Сергей.
...
Рейтинг: 0 / 0
16.11.2001, 10:08
    #32017126
Pandre
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с интервалом времени
А convert() с параметрами, что не подходит?
...
Рейтинг: 0 / 0
16.11.2001, 17:29
    #32017174
Garya
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с интервалом времени
Что-то я не понял вопрос. А что должно происходить при появлении значения времени 25:34:45? А при -5:34:-45? Я не пойму, нужно игнорировать ошибки или заставить их как-то исправлять? Если исправлять, то ведь нет гарантии, что это вообще возможно. Поди догадайся, какое это время: OO:BB;FF
...
Рейтинг: 0 / 0
19.11.2001, 12:47
    #32017259
dmitry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с интервалом времени
Насколько я понял 25:34:45 - это не ошибка. Это просто не время, а ИНТЕРВАЛ ВРЕМЕНИ. Т.е. нечто регистрирует не Sep 1 2001 01:00:00 - Sep 2 2001 2:34:45 а только разницу между ними, причем не разбивая по суткам. Я прав?
Если да, то попробуйте так:
declare @hours int
set @hours=convert(int,convert(varchar(2),'26:34:35'))
select dateadd(hh,@hours,convert(datetime,'0:'+right('26:34:35',5)))

Ну а если могет быть и более 100 часов, то искать где ":"
...
Рейтинг: 0 / 0
20.11.2001, 10:18
    #32017323
SergD
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с интервалом времени
Спасибо всем, действительно я несколько сумбурно сформулировал вопрос.

Просто очень не хотелось переделывать систему где данные циркулировали так DTS->SQL->ASP и попадали пользователю в формате "hh:mm:ss" как интервал времени и хранились в SQL как Datetime все было красиво, пока не появилось значение которое не соответствует времени суток и DTS споткнулся.
В результате пришлось менять поле на varchar и менять вывод в ASP, хорошо, что по этому полю нет никакой аналитики, иначе получил бы по полной.
Догадайся я на этапе проектирования об этом все было бы проще.

С уважением, Сергей.
з.ы. Зато появился интерес - как хранить подобные интервалы времени видимо оптимально приводить их к минутам или секундам(взависимости от нужной точности) и хранить как int, не зряже datediff возвращает целое
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Проблема с интервалом времени / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]