У меня есть функция SQL Server, который преобразует NVARCHAR день значение длительности в значение в даты и времени.Преобразуя NVARCHAR Установка длительности дня в DateTime
Формат Продолжительность день > дней <> < часов: минут.> <, например 1.2: 00 в течение одного дня и два часа.
Формат настройки продолжительности дня не может быть изменен, и мы можем быть уверены, что все данные правильно отформатированы и представлены.
Предоставление функции времени начала и установки продолжительности дня должно возвращать время окончания.
Например: 2010-01-02 13:30 ==> 2010-01-03 2:00
Я использую комбинацию CHARINDEX, подстроки и преобразовывать методы для вычисления значения, который является своего рода медленным и упрямым. Есть ли другой способ напрямую преобразовать этот параметр продолжительности дня в значение datetime?
Да ... Я знаю, что, но, к сожалению, формат как-то наследие, и я не могу изменить его, как он используется в некоторых других системах. – Drejc
@ Drejc - Я не думаю, что есть другой способ обойти это, чтобы быть честным. Это определенно причина медленной работы? Другая вещь, которую я предлагаю, - не делать вычисления в SQL Server, но возвращать оба поля как есть, и позволить вызывающему коду делать это, что будет лучше работать при манипулировании строкой – AdaTheDev
Это фактически выполняется так, как вы описываете, за исключением одна ситуация, когда расчет должен выполняться на стороне SQL. Это не вызывает никаких медленных ответов или подобных проблем, но это просто уродливое решение. – Drejc