Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Làm cách nào để định dạng thời gian từ dd:hh:mm:ss thành chỉ hh:mm:ss trong máy chủ SQL?

Bạn có thể làm điều này với toán học

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)

Được viết dưới dạng một hàm:

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

Cuộc gọi mẫu:

SELECT dbo.udfTimeSpanFromSeconds(360000)

KẾT QUẢ:

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. Cách tạo câu lệnh bảng thả cho tất cả các bảng trong cơ sở dữ liệu - Hướng dẫn SQL Server / T-SQL Phần 48

  2. Cách triển khai các liên kết đa hình trong cơ sở dữ liệu hiện có

  3. Cách xóa các hàng trùng lặp hoàn toàn

  4. Làm cách nào để chèn danh sách từ C sharp vào SQL Server 2008?

  5. lặp qua các hàng của một lưới dữ liệu