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

选择时间间隔为10分钟的SQL,sql,asp.net,sql-server,intervals,Sql,Asp.net,Sql Server,Intervals,我的数据库中有一个包含这些记录的数据表, 在我的网页中,我有一个包含可能间隔的下拉列表(例如每分钟、每5分钟、每10分钟、每30分钟、每小时) 我想根据下拉选择项从这些记录中进行选择,例如10 如果您使用的是SQL Server,这将起作用: Select Columns From YourTable Where DateDiff(Minute, 0, YourTimeColumn) % 10 = 0 基本上,DateDiff函数计算1900年1月1日午夜以来经过的分钟数。然后,模数运

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

我想根据下拉选择项从这些记录中进行选择,例如10


如果您使用的是SQL Server,这将起作用:

Select Columns
From   YourTable
Where   DateDiff(Minute, 0, YourTimeColumn) % 10 = 0
基本上,DateDiff函数计算1900年1月1日午夜以来经过的分钟数。然后,模数运算符(此处看到的%符号)返回余数。如果余数是0,那么它是可等分的。如果需要15分钟的间隔,则将10分钟替换为15分钟。如果你想要每小时一次,用60而不是10

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


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

您使用的是哪种RDBMS?为什么当你选择10分钟时,它会返回间隔30分钟的记录呢?我使用的是MSSQL,是的,我需要得到10 20 30 40 50 60,如果是10分钟和1 2 3 4。。。如果是1分钟,则方法稍有不同,但使用
模数
运算符的概念相同:谢谢!那真的帮了我很大的忙!
Select Columns
From   YourTable
Where   DateDiff(Minute, 0, YourTimeColumn) % 10 = 0