Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Bagaimana cara memformat waktu dari dd:hh:mm:dd menjadi hanya jj:mm:dd di SQL server?

Anda dapat melakukannya dengan matematika

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)

Ditulis sebagai fungsi:

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

Contoh panggilan:

SELECT dbo.udfTimeSpanFromSeconds(360000)

HASIL:

100:00:00


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apa cara terbaik untuk menyalin database?

  2. Cara Mengganti Nama Kunci JSON di SQL Server (T-SQL)

  3. SQL Server - literal boolean?

  4. Hapus catatan hanya lebih tua dari 50 baris saat mengelompokkan dengan 1 kolom

  5. Menjelajahi batasan yang berbeda di SQL Server