Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带有时间和日期的Sql查询_Sql_Sql Server - Fatal编程技术网

带有时间和日期的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

这是我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 '".$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小时