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

Php 如何在mysql中获取特定日期之间的值,php,mysql,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 T

我想得到特定日期和时间之间的值。但每个值——时间、小时和分钟都在单独的字段中

以下是我的表格格式

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'之间的“值”。如果有人知道,请帮助我你可以这样做:

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 fiddle for it:

您可以这样做:

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 fiddle for it:

更新@Suresh answer,因为默认的
日期格式是'Y-m-d'

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

更新@Suresh answer,因为默认的
date
格式为“Y-m-d”

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

我们也可以在……之间使用替代品

SELECT *
FROM table
WHERE Date >= '2011-01-03' and Date < '2011-10-01'
选择*
从桌子上
其中日期>='2011-01-03'和日期<'2011-10-01'

我们也可以使用Between.的替代品

SELECT *
FROM table
WHERE Date >= '2011-01-03' and Date < '2011-10-01'
选择*
从桌子上
其中日期>='2011-01-03'和日期<'2011-10-01'

向我们展示您的try查询..您不应该将datetime作为单个实体存储在formatStore日期和时间中。向我们展示您的try查询..您不应该将datetime作为单个实体存储在formatStore日期和时间中。我还需要在where条件中包含时间,这样只有我才能获得正确的输出。感谢您的回复。我将检查@Suresh KamrushiSuppose我的查询是,
从表名中选择值,其中CONCAT(
date
,'',Hour',:'',Min',:00')介于'3/1/2011 12.00'和'10/1/2011 11.10'
之间,然后它也返回
3/1/2011 11.00
值@Suresh Kamrushishare您的查询
从表名中选择值,其中CONCAT(
date
,'',Hour',:',Min',:00')介于'2011/1/03 16.00'和'2011/1/10 11.10'
我还需要在WHERE条件中包括时间,然后只有我才能得到正确的输出。感谢您的回复。我将检查@Suresh KamrushiSuppose我的查询是,
从表名中选择值,其中CONCAT(
date
,'',Hour',:'',Min',:00')介于'3/1/2011 12.00'和'10/1/2011 11.10'
之间,然后它也返回
3/1/2011 11.00
值@Suresh Kamrushishare您的查询
从表名中选择值,其中CONCAT(
date
,'',Hour',:',Min',:00')介于'2011/1/03 16.00'和'2011/1/10 11.10'