Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.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
Php 两个日期之间的日期查询_Php_Mysql_Cakephp 1.3 - Fatal编程技术网

Php 两个日期之间的日期查询

Php 两个日期之间的日期查询,php,mysql,cakephp-1.3,Php,Mysql,Cakephp 1.3,在我的表中,我有这个模式 record startDate endDate abs 2005-11-29 2005-11-21 absasd 2005-11-23 2005-01-22 absty 2005-10-26 2005-02-23 absfx 2005-09-27 2005-09-24 absft 2005-10-28 2005-07-25 absyh

在我的表中,我有这个模式

record      startDate    endDate
abs         2005-11-29   2005-11-21
absasd          2005-11-23   2005-01-22
absty           2005-10-26   2005-02-23
absfx           2005-09-27   2005-09-24
absft           2005-10-28   2005-07-25
absyh           2005-01-28   2005-08-01
absdx           2005-12-29   2005-01-02
abs345          2005-06-24   2005-02-03
abser           2005-07-14   2005-04-06
absbv       2005-08-01   2005-05-08
abse        2005-07-12   2005-06-09
abserr          2005-12-30   2005-07-14
absf        2005-01-12   2005-12-16
abscv           2005-04-11   2005-12-26
abscv           2005-06-01   2005-11-27
absc        2005-07-03   2005-10-28
absv        2005-07-06   2005-09-25
.....
.....
......
我要选择介于2005-01-01和2005-10-01之间的所有记录。还有其他一些日期。那么sql是什么呢。

选择*
SELECT *
    FROM YourTable
    WHERE startDate >= '2005-01-01'
        AND endDate <= '2005-10-01'
从你的桌子上 其中起始日期>='2005-01-01' 然后选择endDate
*
从你的桌子上
其中起始日期>='2005-01-01'

和endDate以1K+的声誉和这个问题?你没事吧?:-)

从TableName中选择*
其中,起始日期>'2005-01-01'和起始日期<'2005-10-01'
--其中开始日期>2005-01-01,结束日期<2005-10-01
--其中endDate>2005-01-01和endDate<2005-10-01
--其中endDate>2005-01-01,startDate<2005-10-01
--其中(起始日期>'2005-01-01'和起始日期<'2005-10-01')或(结束日期>'2005-01-01'和结束日期<'2005-10-01')
--其中(起始日期>'2005-01-01'和起始日期<'2005-10-01')和(结束日期>'2005-01-01'和结束日期<'2005-10-01')

拥有1K+的声誉,这个问题呢?你没事吧?:-)

从TableName中选择*
其中,起始日期>'2005-01-01'和起始日期<'2005-10-01'
--其中开始日期>2005-01-01,结束日期<2005-10-01
--其中endDate>2005-01-01和endDate<2005-10-01
--其中endDate>2005-01-01,startDate<2005-10-01
--其中(起始日期>'2005-01-01'和起始日期<'2005-10-01')或(结束日期>'2005-01-01'和结束日期<'2005-10-01')
--其中(起始日期>'2005-01-01'和起始日期<'2005-10-01')和(结束日期>'2005-01-01'和结束日期<'2005-10-01')

你所说的“和某些其他日期”是什么意思?不管其他日期如何,如果我得到一个关于这个的查询,我会做其余的。感谢您记录必须完全在您指定的日期范围内,或者只有一部分与您指定的日期范围重叠?如果您有可能切换到postgresql,您可能需要查看。您所说的“和某些其他日期”是什么意思?不管其他日期如何,如果我得到一个查询,我将执行其余操作。感谢您记录必须完全在您指定的日期范围内,或者只有一部分与您指定的日期范围重叠?如果您有可能切换到postgresql,您可能需要查看。
SELECT * FROM TableName
WHERE startDate > '2005-01-01' and startDate < '2005-10-01'
--WHERE startDate > '2005-01-01' and endDate < '2005-10-01'
--WHERE endDate > '2005-01-01' and endDate < '2005-10-01'
--WHERE endDate > '2005-01-01' and startDate < '2005-10-01'
--WHERE (startDate > '2005-01-01' and startDate < '2005-10-01' ) OR (endDate > '2005-01-01' and endDate < '2005-10-01')
--WHERE (startDate > '2005-01-01' and startDate < '2005-10-01' ) AND (endDate > '2005-01-01' and endDate < '2005-10-01')