Jaki jest najlepszy sposób na usunięcie daty z czasu DATETIME, aby tylko czas pozostał do porównania?Data paska TSQL z datetime
wiem, że mogę wykonać następujące czynności:
CONVERT(DATETIME, CONVERT(VARCHAR(8), GETDATE(),8))
Ale ta obejmuje konwersję i znaków. Gdybym chciał sprawdzić, czy czas (w tym minuty) był pomiędzy dwoma innymi czasami przechowywanymi w kolumnach DATETIME, czy istnieje elegancki sposób na to, bez konieczności polegania na konwersji na ciągi znaków?
wartość 'DATETIME' będzie alw ays ma element daty (wskazówka w nazwie :), więc jedynym sposobem na dosłowne usunięcie daty "pozostało tylko tyle czasu" jest rzutowanie jej jako typu, który nie ma elementu daty, tj. odpowiedzi @Mike M.. – onedaywhen
Powinienem był określić, że nasze oprogramowanie używa SQL2005 (i zostało zaprojektowane w erze SQL2000, więc typ danych TIME, który jest nową funkcją SQL2008, nie jest wykonalnym rozwiązaniem.Jeśli spojrzysz na odpowiedź, która została oznaczona jako poprawna, Zobaczę eleganckie rozwiązanie: – t3rse