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

Chuyển đổi thời gian thập phân thành giờ và phút

Bạn có thể thử:

DECLARE @HOURS decimal(7,4) = 20.5599
SELECT  CAST(CONVERT(VARCHAR,DATEADD(SECOND, @HOURS * 3600, 0),108) AS TIME)

đầu ra:20:33:35

Nhưng hãy nhớ:Chỉ nhập Thời gian trong MSSQL dưới 24 giờ

Nếu bạn muốn nhiều hơn 24 giờ, hãy thử:

DECLARE @HOURS decimal(7,4) = 25.5599
SELECT 
RIGHT('0' + CAST (FLOOR(@HOURS) AS VARCHAR), 2) + ':' + 
RIGHT('0' + CAST(FLOOR((((@HOURS * 3600) % 3600) / 60)) AS VARCHAR), 2) + ':' + 
RIGHT('0' + CAST (FLOOR((@HOURS * 3600) % 60) AS VARCHAR), 2)

đầu ra:25:33:35

- Cập nhật

Số phút thập phân đến hơn 24 giờ

DECLARE @MINUTES decimal(7,4) = 77.9
SELECT
RIGHT('0' + CAST (FLOOR(COALESCE (@MINUTES, 0) / 60) AS VARCHAR (8)), 2) + ':' + 
RIGHT('0' + CAST (FLOOR(COALESCE (@MINUTES, 0) % 60) AS VARCHAR (2)), 2) + ':' + 
RIGHT('0' + CAST (FLOOR((@MINUTES* 60) % 60) AS VARCHAR (2)), 2);

đầu ra:01:17:54



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Không thể so sánh hoặc sắp xếp các loại dữ liệu văn bản, ntext và hình ảnh, ngoại trừ khi sử dụng toán tử IS NULL hoặc LIKE>

  2. Cách thay đổi đối chiếu cấp máy chủ khi chạy phiên bản máy chủ SQL

  3. Sử dụng OBJECTPROPERTY () để tìm hiểu xem một Bảng có phải là một Bảng hệ thống trong SQL Server hay không

  4. Mẫu thiết kế cho các trường tùy chỉnh trong cơ sở dữ liệu quan hệ

  5. Cách lấy thông tin thống kê của máy chủ SQL bằng chức năng thống kê hệ thống