Poszukuję funkcji, która otrzyma czas i zaokrągli go do następnej/poprzedniej godziny/pół godziny/kwartału/minuty.Jak zaokrąglić czas w T-SQL
17
A
Odpowiedz
28
Spróbuj funkcję
CREATE FUNCTION [dbo].[RoundTime] (@Time datetime, @RoundTo float)
RETURNS datetime
AS
BEGIN
DECLARE @RoundedTime smalldatetime
DECLARE @Multiplier float
SET @Multiplier= 24.0/@RoundTo
SET @RoundedTime= ROUND(CAST(CAST(CONVERT(varchar,@Time,121) AS datetime) AS float) * @Multiplier,0)/@Multiplier
RETURN @RoundedTime
END
select dbo.roundtime('13:15',0.5)
The 1st param jest czas, aby być zaokrąglone i 2nd będzie bazowy na liście (0,5-pół godziny, 1-godzinnym, ...)
5
Bardzo miłe dzięki. Używałem go w linii zaokrąglić do 15 minut
convert(smalldatetime,ROUND(cast(TDatalog.Time as float) * (24/.25),0)/(24/.25)) AS RoundedTime
Powiązane problemy
- 1. Jak zaokrąglić czas?
- 2. Jak zaokrąglić liczbę w JSTL?
- 3. Jak zaokrąglić liczbę w JavaScript?
- 4. Jak zaokrąglić wartość w Twig
- 5. Jak zaokrąglić liczbę w JavaScript?
- 6. Jak zaokrąglić float w F #?
- 7. Jak zaokrąglić NSDecimalNumber w szybkim?
- 8. Jak zaokrąglić do liczby całkowitej w R?
- 9. Jak zaokrąglić liczbę
- 10. Jak zaokrąglić Pandy "DatetimeIndex"?
- 11. Wiele instrukcji jak w TSQL
- 12. Jak używać pętli w TSQL?
- 13. C++: Jak zaokrąglić double do int?
- 14. Jak najlepiej zaokrąglić ułamki dziesiętne w C#
- 15. Jak zaokrąglić liczby dziesiętne w Androidzie
- 16. Jak zaokrąglić wyniki parseFloat w Jquery/Javascript?
- 17. Jak zakleić i zaokrąglić numer w rubinie
- 18. jak zaokrąglić do następnej 10 w oracle?
- 19. Jak zaokrąglić do najbliższego 0,5?
- 20. Jak szybko zaokrąglić pasek postępu?
- 21. Jak zaokrąglić do najbliższej dziesiątki?
- 22. Transakcje zagnieżdżone w TSQL
- 23. Jak zapytać kolumnę xml w tsql
- 24. Zaokrąglić rogi UIView i zaokrąglić również granicę warstwy widoku
- 25. Data paska TSQL z datetime
- 26. Co robi "%% DatabaseEx" w TSQL?
- 27. Jak wycenić różnicę między określonymi wartościami w TSQL?
- 28. Tworzenie widoków aktualizowalnych w TSQL
- 29. Co oznacza symbol "#" w TSQL?
- 30. Funkcja w ramach funkcji TSQL
Jeśli używasz 121 zamiast 113 będzie uzyskać datepart poprawnego również – vzczc
Niestety, 121 zamiast 114 – vzczc
nic nie warte, że przyrosty musi być określony jako przecinku notacja o ułamku godziny. Więc jeśli chcesz zaokrąglić do 5-minutowych interwałów, to jest to 1/12 godziny, więc @RoundTo będzie .083. – eidylon