我想在数据库表中查找注册日期等于4-22的人。
我的sql看起来像这样
function GetUsers($dreg)
{
$dt=(new DateTime($dreg))->format('Y-m-d');
$result=$this->query("SELECT * FROM tablex WHERE dreg='$dt'");
return ($this->getNumRows()>0)?$result:null;
}
然而,sql结果不正确,因为我只需要在员工注册年份的时候获得月份和日期。
答案 0 :(得分:2)
您必须比较日期和月份而不是整个日期:
function GetUsers($dreg)
{
$dt=(new DateTime($dreg))->format('m-d');
$result=$this->query("SELECT * FROM tablex WHERE DATE_FORMAT(dreg, '%m-%d') = '$dt'");
return ($this->getNumRows()>0)?$result:null;
}
答案 1 :(得分:0)
您可以将日期的两边转换为字符串然后进行比较。