选择间隔为10分钟的时间SQL

时间:2014-12-04 03:21:45

标签: sql asp.net sql-server intervals

enter image description here

我的数据库中有一个包含这些记录的数据表, 在我的网页中,我有一个DropDownList包含可能的间隔(例如,每分钟,每5分钟,每10分钟,每30分钟,每小时)

我想根据下拉列表选择这些记录,例如10

7:00 
7:30
8:00
8:30
9:00
9:30
10:30

1 个答案:

答案 0 :(得分:1)

如果您使用的是SQL Server,则可以使用:

Select Columns
From   YourTable
Where   DateDiff(Minute, 0, YourTimeColumn) % 10 = 0

基本上,DateDiff函数计算自1900年1月1日午夜以来经过的分钟数。然后模数运算符(这里看到的%符号)返回余数。如果该余数为0,则它​​可以被整除。如果你想要15分钟的间隔,那么用15代替10.如果你想要每小时一次,用60代替10。

例如,如果您的时间是凌晨1:30,则datediff函数将返回90. 90 mod 10 = 0,因此将返回此行。

这假设您的列的数据类型是datetime而不是字符串。