如何在mysql中获取特定日期之间的值

时间:2017-06-30 08:50:13

标签: php mysql

我想获取特定日期和时间之间的值。但是每个值 - 时间,小时和分钟都在不同的字段中。

以下是我的表格格式,

Date        Hour    Min     values

1/1/2011    10      30      Test1
2/1/2011    8       10      Test2
3/1/2011    15      40      Test3
5/1/2011    11      10      Test5
10/1/2011   3       04      Test6
12/1/2011   5       00      Test6

现在我希望使用MYSQL SELECT查询获得'3/1/2011 12.00'和'10 / 1/2011 11.10'之间的“值”。如果有人知道请帮助我

3 个答案:

答案 0 :(得分:2)

你可以这样做:

SELECT id, CONCAT(dateval,' ',hourval,':',minval,':00') as t 
 FROM ForgeRock 
 WHERE CAST(CONCAT(dateval,' ',hourval,':',minval,':00') as DATETIME) 
  between CAST('2006-01-21 17:10:00' as DATETIME) AND 
   CAST('2006-01-25 22:10:00' as DATETIME) 

由于concate(),我们需要使用CAST将它们转换为datetime。 SQL小提琴:http://sqlfiddle.com/#!9/4a072/12

答案 1 :(得分:2)

更新@Suresh答案,因为默认date格式为'Y-m-d'。

SELECT values
FROM table_name
WHERE `Date` between '2011-01-03' and '2011-10-01' 

答案 2 :(得分:0)

我们也可以使用Between ...之间的替代。

SELECT *
FROM table
WHERE Date >= '2011-01-03' and Date < '2011-10-01'