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

Máy chủ SQL, Chuyển đổi Giây sang Phút, Giờ, Ngày

Tùy thuộc vào đầu ra bạn muốn:

DECLARE @s INT = 139905;

SELECT                CONVERT(VARCHAR(12), @s /60/60/24) + ' Day(s), ' 
  +                   CONVERT(VARCHAR(12), @s /60/60 % 24) 
  + ':' + RIGHT('0' + CONVERT(VARCHAR(2),  @s /60 % 60), 2) 
  + ':' + RIGHT('0' + CONVERT(VARCHAR(2),  @s % 60), 2);

Kết quả:

1 Day(s), 14:51:45

Hoặc:

DECLARE @s INT = 139905;

SELECT 
    CONVERT(VARCHAR(12), @s /60/60/24)   + ' Day(s), ' 
  + CONVERT(VARCHAR(12), @s /60/60 % 24) + ' Hour(s), '
  + CONVERT(VARCHAR(2),  @s /60 % 60)    + ' Minute(s), ' 
  + CONVERT(VARCHAR(2),  @s % 60)        + ' Second(s).';

Kết quả:

1 Day(s), 14 Hour(s), 51 Minute(s), 45 Second(s).

Bạn có thể thay thế 60/60/24 với 86400 vv nhưng tôi thấy sẽ tốt hơn nếu bạn tự ghi lại trong các phép tính / giây / phút / giờ. Và nếu bạn chống lại một bảng, chỉ cần sử dụng column_name thay cho @s .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chèn dữ liệu từ db sang db khác

  2. Làm cách nào để bạn tạo trường boolean có / không trong máy chủ SQL?

  3. Làm thế nào bạn có thể chuyển đổi tinyint của t-sql thành số nguyên trong c #?

  4. SQL Server ORDER THEO ngày tháng và giá trị rỗng cuối cùng

  5. Giới thiệu về Danh tính Máy chủ SQL