Zapisuję wartość TimeSpan
(z .NET) w moim db jako BIGINT
w SQL Server (zapisanie właściwości Ticks). Chcę wiedzieć, jak przekonwertować wartość BIGINT
na wartość DATETIME
w SQL Server (nie w .NET). Jakieś pomysły?Konwersja .NET do SQL Server DataTime
Cheers
EDIT:
Używam NHibernate mapować TimeSpan
właściwość mam, i utrzymuje właściwość kleszcze. Używam go do względnego kontrolowania godzin (lub minut) w pewnym terminie.
Wewnętrznie w systemie wszystko jest w porządku, ta konwersja nie jest potrzebna. Jednak podczas wykonywania losowych zapytań w SQL Serverze trudno jest zrozumieć utrwaloną formę TimeSpan
. Tak więc funkcja, w której zwracam wartość Ticks
i zwracana wartość DateTime
, podałaby ilość w godzinach, minutach i sekundach, którą reprezentuje TimeSpan
.
Udzielone .. wymaga SQL 2008 i jego typ danych DATE. – Thomas
Przy okazji należy również zauważyć, że wartość końcówek rozpoczyna się od "0001-01-01" ** nie ** '1900-01-01'. – Thomas
Kod jest świetny, ale jeśli przedział czasowy reprezentuje tylko godziny, a nie pełną datę, wynikowa data jest zbyt niska, aby mogła być reprezentowana jako datetime. Ale kod jest dobrym początkiem, oznaczę to jako odpowiedź i nad nim pracuję. Dziękuję Ci bardzo! – Pedro