带有时间和日期的Sql查询
这是我sql查询的一部分,例如,当我从2014年5月11日到2014年5月15日进行查询,时间从11.00.00到21.00.00时,我非常不确定 问题在于,例如2014年5月12日23.00.00的结果不会显示,因为它不在时间从和到之间。我知道我只能在没有时间的情况下搜索日期,但我也希望有时间搜索更具体的结果。这是解决这个问题的办法吗 此sql查询只是较大sql查询的一部分。谢谢带有时间和日期的Sql查询,sql,sql-server,Sql,Sql Server,这是我sql查询的一部分,例如,当我从2014年5月11日到2014年5月15日进行查询,时间从11.00.00到21.00.00时,我非常不确定 问题在于,例如2014年5月12日23.00.00的结果不会显示,因为它不在时间从和到之间。我知道我只能在没有时间的情况下搜索日期,但我也希望有时间搜索更具体的结果。这是解决这个问题的办法吗 此sql查询只是较大sql查询的一部分。谢谢 WHERE routines.date between '".$fromDate."' AND '".$toDat
WHERE routines.date between '".$fromDate."' AND '".$toDate."'
AND routines.time between '".$fromTime."' AND '".$toTime."'
要更正:
sql查询的问题在于,它将显示2014年5月13日、2014年5月13日等的记录,但这些记录的时间仅在11.00.00和21.00.00之间,而不是24小时。我只希望sql查询在指定的日期内不时搜索。我不知道为什么创建了两个日期和时间列,而不是一个,但对于此查询,您需要将它们组合起来。例如,您可以在其上创建和创建索引 此外,您可以尝试此解决方案,但如果在
例程.date
和例程.time
上有索引,则它不会使用索引:
WHERE CAST(CONVERT(varchar(8),routines.date,112)+
' '+CONVERT(varchar(8),routines.time,108) as datetime) BETWEEN '".$fromDateTime."' AND '".$toDateTime."'
mysql还是sql server?数据库中日期和时间的数据类型是什么?Namaste!这是SQL server。时间的数据类型为时间(0),日期为日期。请使用特定的DB标记以避免混淆。删除了每条评论的mysql标记。您的意思是您希望记录的时间介于2014年5月11日11.00.00和2014年5月15日21.00.00之间吗?是的,但例如2014年5月12日的时间必须是24小时,唯一的标准是记录的时间必须是2014年5月11日11.00.00到2014年5月15日21.00.00之间的24小时