sql >> Databáze >  >> RDS >> Sqlserver

Jak formátovat čas z dd:hh:mm:ss na pouze hh:mm:ss na serveru SQL?

Můžete to udělat pomocí matematiky

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)

Zapsáno jako funkce:

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

Ukázkový hovor:

SELECT dbo.udfTimeSpanFromSeconds(360000)

VÝSLEDEK:

100:00:00


  1. Jak získávání posledního ID vložení mysql funguje s transakcemi? + transakční otázky

  2. Rozdíl mezi dvěma hodnotami rok, měsíc a den v Oracle

  3. Je něco špatného na použití systému Windows-1252 místo UTF-8

  4. Vytvoření webové aplikace od nuly pomocí Python Flask a MySQL:Část 3