SQL Server:比较时间

SQL Server:比较时间,sql,sql-server,tsql,Sql,Sql Server,Tsql,我试图在SQL查询中比较时间。然而,当我运行查询时,我得到的结果为零,但我可以看到,在表中,应该会出现一些记录 查询如下: SELECT * FROM dbo.Alarms WHERE StartDate <= '26/08/2015' AND StartTime <= CONVERT(varchar(5), GETDATE(), 108) 选择* 来自dbo.Alarms 其中StartDate使用正确的日期时间格式: SELECT * FROM dbo.Alarms

我试图在SQL查询中比较时间。然而,当我运行查询时,我得到的结果为零,但我可以看到,在表中,应该会出现一些记录

查询如下:

SELECT * 
FROM dbo.Alarms 
WHERE StartDate <= '26/08/2015' 
  AND StartTime <= CONVERT(varchar(5), GETDATE(), 108)
选择*
来自dbo.Alarms

其中StartDate使用正确的日期时间格式:

SELECT *
FROM dbo.Alarms
WHERE StartDate <= '2015-08-26' AND StartTime <= cast(GETDATE() as date)
选择*
来自dbo.Alarms

其中StartDate我没有明确使用此场景,但是根据字段的比较方式,比较日期可能是一个问题

例如:
'28/07/2015'
不低于您的起始日期
28>26

您可以尝试比较重新格式化为
YYYYMMDD
格式的日期


干杯。

阅读您的评论让我想到了一个我没有考虑到的方面。我不认为我可以这样说,因为如果开始日期少于今天,那么时间就无关紧要了。只有当起始日期等于今天时,时间才重要。我将尝试用datetime类型创建一个新字段,而不是将这两个字段分开。我尝试了这一点,并意识到我的表结构不太正确。我无法在单独的字段中比较日期和时间。我将尝试创建一个datetime类型的新字段,看看是否可以使用该字段进行比较。也许您应该问另一个问题,包括示例数据和所需结果。发布StartDate和StartTime的数据类型。如果他们是
VARCHAR
,你应该知道这是个坏主意