我正在其他人安装的系统上编写查询,因此这里无法更改表。
问题: 我有一张表,我有Date,timeIN和timeOUT 采取以下记录;
date | timeIN | timerOUT
-------------------------------------------------
2016-01-01 00:00:00.00 | 2000-01-01 07:00 | 2000-01-01 15:00 DATEDIFF = 8H
2016-01-02 00:00:00.00 | 2000-01-01 07:00 | 2000-01-01 15:00 DATEDIFF = 8H
2016-01-05 00:00:00.00 | 2000-01-01 23:00 | 2000-01-01 07:00 DATEDIFF = -16H
如何从3号记录中获得DATEDIFF = 8H? 这里的问题是所有timeIN和timeOUT标记都具有相同的虚拟日期。
答案 0 :(得分:4)
您可以在CASE
函数中使用DATEDIFF
表达式:
SELECT
Diff =
DATEDIFF(
HOUR,
timeIn,
CASE
WHEN timeOut < timeIn THEN DATEADD(DAY, 1, timeOut)
ELSE timeOut
END
)
FROM tbl
如果timeOut
小于timeIn
,则会在import paramiko
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect("1.1.1.1", username="root", password="pass")
stdin, stdout, stderr = client.exec_command("service XXX start")
上添加一天。