Php mysql开始日期和结束日期
我一直在尝试从日期和结束日期获取特定日期Php mysql开始日期和结束日期,php,mysql,codeigniter,Php,Mysql,Codeigniter,我一直在尝试从日期和结束日期获取特定日期 eg 01-01-2016至12-31-2016日期。但我只得到2015年的日期 这是我的疑问 $query = $this->db->query("SELECT date FROM `table` WHERE date between '1/1/2016' and '12/29/2016'"); echo $this->db->last_query(); exit; if ($query == true)
eg 01-01-2016至12-31-2016日期。但我只得到2015年的日期
这是我的疑问
$query = $this->db->query("SELECT date FROM `table` WHERE date between '1/1/2016' and '12/29/2016'");
echo $this->db->last_query(); exit;
if ($query == true) {
foreach ($query->result() as $t) {
echo $t->date . '<br>';
}
} else { return false; }
$query=$this->db->query(“从‘表’中选择日期,其中日期介于‘2016年1月1日’和‘2016年12月29日’”);
echo$this->db->last_query();出口
如果($query==true){
foreach($query->result()作为$t){
回显$t->日期。“
”;
}
}else{return false;}
但我得到了2015年的记录问题在于:
between '1/1/2016' and '12/29/2016'");
mysql的默认日期格式是'Y-m-d'
,因此请将日期更改为此格式,然后重试,即
between '2016-1-1' and '2016-12-29'");
$query=$this->db->query(“从'table'中选择日期,其中日期(date)介于'2016-01-01'和'2016-12-29'之间”);
echo$this->db->last_query();出口
如果($query==true){
foreach($query->result()作为$t){
回显$t->日期。“
”;
}
}else{return false;}
使用类似于Y-m-dformate的代码。mysql接受此格式如果您的DB字段是varchar,则使用此格式
SELECT date FROM `table` WHERE STR_TO_DATE(date,'%m/%d/%Y') BETWEEN '2016-01-01' AND '2016-12-29'
如果日期处于varchar状态
从表格名称中选择任命日期,其中STR_TO_DATE(任命日期,%m/%d/%Y')>='2016-01-01'和STR_TO_DATE(任命日期,%m/%d/%Y')更改日期fomat yyyy-mm-dd
varchar
不同于DATE
@vishal请告诉我们日期以何种格式存储在您的数据库中?尝试与表8/18/2016中的格式进行比较是的,实际上它在日期字段中,它是varchar格式,而不是日期格式。我可以做些什么,或者我必须更改为数据库中日期类型的日期无结果从表中选择日期
其中日期介于'2016/01/01'和'2016/12/30'之间仅此格式?你确定?不能是另一种格式吗?我认为“Y-m-d H:I:s”也有…取决于数据库列值@Rajat Gupta:d首先确认事情,然后告诉任何人,否则您可能会得到默认的日期格式。mysql接受更多的格式。我会记住这件事。感谢@Bunker Boyi的建议。我已经写了0个结果,从表中选择任命日期,从表中选择任命日期,其中stru TO_日期(任命日期,%m/%d/%Y')介于'2016年1月1日'和'2016年12月14日',它在我的系统中工作,您是否有介于“2016年1月1日”和“2016年12月14日”之间的数据?不仅是日期。上述代码适用于美国。但我得到的结果为0。您的数据库中是否有任何数据可用于“2016年1月1日”和“2016年12月14日”之间的任命日期列?我编写了此查询,但我得到的2017年记录也选择了任命日期表_name
其中任命日期>='1/01/2016'和任命日期
SELECT date FROM `table` WHERE STR_TO_DATE(date,'%m/%d/%Y') BETWEEN '2016-01-01' AND '2016-12-29'