簡體   English   中英

SQL如何將DateTime與分鍾進行比較

[英]SQL How to compare DateTime to minutes

我在數據庫中有兩組不同的DateTime。 我如何選擇時間到分鍾。 如果他的InTime和OutTime相同(最多幾分鍾而不是幾秒鍾),我想選擇User。 因此,在這種情況下,應選擇User1和User2。 秒將被忽略。 如何創建這樣的SQL查詢?

Table: DailyTimeAttendance

User: 1
InTime: 2018-01-01 05:01:07
OutTime: 2018-01-01 05:01:05

User: 2
InTime: 2018-01-01 02:02:04
OutTime: 2018-01-01 02:02:09

User: 3
InTime: 2018-01-01 09:04:05
OutTime: 2018-01-01 09:06:10

Expected Output SQL: 
User1 InTime 2018-01-01 00:01 compared to OutTime 2018-01-01 00:01 is TRUE

如果使用的是Microsoft SQL Server,則可以使用DATEDIFF函數。此函數返回在指定開始日期和結束日期之間交叉的指定日期部分邊界的計數(作為有符號整數值)。 示例(如果在同一分鍾內)

SELECT * FROM DailyTimeAttendance 
WHERE DATEDIFF(MINUTE,InTime,OutTime)=0

在mysql中:

select User, Intime, OutTime, 
case when date_format(Intime, '%Y-%m-%d %k:%i') = date_format(OutTime, '%Y-%m-%d %k:%i')
then 'TRUE' else 'FALSE' end
from DailyTimeAttendance

這應該達到您的目的。

select * from 
DailyTimeAttendance where
 CONVERT(DATE_FORMAT(InTime,'%Y-%m-%d-%H:%i:00'), DATETIME) = 
 CONVERT(DATE_FORMAT(OutTime,'%Y-%m-%d-%H:%i:00'), DATETIME)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM