sql >> Database teknologi >  >> RDS >> Sqlserver

Hvordan formateres tid fra dd:tt:mm:ss til kun tt:mm:ss i SQL-server?

Du kan gøre dette med matematik

DECLARE @sec INT = 93600

SELECT
    CONVERT(VARCHAR(10), (@sec / 3600)) + ':' +
    RIGHT('0' + CONVERT(VARCHAR(2), ((@sec % 3600) / 60)), 2) + ':' +
    RIGHT('0' + CONVERT(VARCHAR(2), (@sec % 60)), 2)

Skrevet som en funktion:

CREATE FUNCTION udfTimeSpanFromSeconds(
    @sec INT
)
RETURNS VARCHAR(15)
AS
BEGIN
RETURN 
    CONVERT(VARCHAR(10), (@sec / 3600)) + ':' +
    RIGHT('0' + CONVERT(VARCHAR(2), ((@sec % 3600) / 60)), 2) + ':' +
    RIGHT('0' + CONVERT(VARCHAR(2), (@sec % 60)), 2)
END

Eksempelopkald:

SELECT dbo.udfTimeSpanFromSeconds(360000)

RESULTAT:

100:00:00


  1. SQL:Gruppetæller i individuelle resultatrækker

  2. Fjern MySql-forbindelse fra anden server

  3. Sådan gemmer du binære data i MySQL

  4. Sådan tjekker du betingelser og skriver tekst i tekstfil-orakelformularer