Как использовать PARSE со строкой отметки времени. net как время в SQL? - PullRequest
0 голосов
/ 16 апреля 2020

У меня есть. NET Строки TimeSpan в моей базе данных. Я хотел бы проанализировать их как время в запросе SQL.

В следующем примере я пытаюсь преобразовать строку метки времени, значение которой равно 3 дням.

SELECT PARSE('3.00:00:00.0000000' AS time)

происходит сбой со следующей ошибкой:

Ошибка преобразования строкового значения '3.00: 00: 00.0000000' во время типа данных с использованием культуры ''.

Использование культуры делает совсем не помогает.

Согласно документации Я должен быть в состоянии сделать это.

time TimeSpan DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal

На данный момент я не нашел никаких подсказок в Интернете.

1 Ответ

0 голосов
/ 16 апреля 2020

Один путь - с PARSENAME. В приведенном ниже примере игнорируется компонент days строки Timespan, возвращая только часть времени.

SELECT PARSE(PARSENAME('3.00:00:00.0000000',2)+'.'+PARSENAME('3.00:00:00.0000000',1) AS time)
...