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

Tôi muốn Giờ, Tối thiểu, chênh lệch thứ hai so với hai ngày hẹn hò

Bạn có thể làm điều đó theo cách rất đơn giản:

declare  @date1 datetime, @date2 datetime
set @date1=DATEADD(s,-638,getdate())
set @date2=GETDATE()

select convert(char(8),dateadd(s,datediff(s,@date1,@date2),'1900-1-1'),8)

... kết quả là 00:10:38 (638 giây =600 giây + 38 giây =10 phút 38 giây)

Một ví dụ khác:

select distinct convert(char(8),dateadd(s,datediff(s, CRDATE , GETDATE() ),'1900-1-1'),8) from sysobjects order by 1

Nó sẽ hoạt động cho đến khi chênh lệch 86399 giây (23:59:59):

select convert(char(8),dateadd(s,datediff(s
    , DATEADD(s,-86399,GETDATE())
    , GETDATE()
),'1900-1-1'),8)

... sau đó nó sẽ trở về 0:

select convert(char(8),dateadd(s,datediff(s
    , DATEADD(s,-86400,GETDATE())
    , GETDATE()
),'1900-1-1'),8)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chuyển đổi ngày và văn hóa:Sự khác biệt giữa DATE và DATETIME

  2. Kết quả SQL động vào bảng tạm thời trong thủ tục SQL Stored

  3. Tính toán giá trị bằng cách sử dụng giá trị trước đó của một hàng trong T-SQL

  4. Làm cách nào để lấy ngày ở định dạng YYYY-MM-DD từ trường ngày giờ TSQL?

  5. Cách cập nhật thống kê máy chủ SQL cho bảng lớn