gpt4 book ai didi

mysql - 在 where 子句中将 varchar 转换为日期

转载 作者:行者123 更新时间:2023-11-29 13:03:02 25 4
gpt4 key购买 nike

function details_klanten($idKlant,$start,$eind){
$this->db->select(' Project.idProject,
Project.Titel,
Project.idProjecttype,
Project.Begindatum,
Project.Deadline,
Project.idKlant,
Projecttypes.idProjecttypes,
Projecttypes.Type,
Werknemer.idWerknemer,
Werknemer.Voornaam,
Statusproject.idStatusProject,
Statusproject.Soort,
Klant.Naam');
$this->db->order_by('Titel', 'asc');
$this->db->from('Project');
$this->db->join('Klant', 'Klant.idKlant = Project.idKlant');
$this->db->join('Projecttypes', 'Projecttypes.idProjecttypes = Project.idProjecttype');
$this->db->join('Werknemer', 'Werknemer.idWerknemer = Project.idWerknemer');
$this->db->join('Statusproject', 'Statusproject.idStatusProject = Project.idStatusProject');
if ($idKlant > 0){
$this->db->where('Klant.idKlant',$idKlant);
$this->db->where('Project.Begindatum >',$start);
$this->db->where('Project.Deadline <',$eind);
}
$query = $this->db->get();

if($query->num_rows()>0){
return $query->result();
}
else{
return false;
}
}

project.BegindatumProject.Deadlinevarchar(10)。因此它查看前两个数字而不是完整日期。例如:

$start = '01-04-2014';
'Project.Begindatum' = (Varchar)'02-03-2014'.

然后就会显示,因为它仅查看 '01'(-04-2014) 和 '02'(-03-2014)

最佳答案

使用mysql的STR_TO_DATE() 函数,并在 where() 中将第三个参数传递为 FALSE

$this->db->where("STR_TO_DATE(Project.Begindatum,'%d-%m-%Y') >",$start,FALSE);
$this->db->where("STR_TO_DATE(Project.Deadline,'%d-%m-%Y') <",$eind,FALSE);

最好更改列的类型以标准格式存储,使用date类型将日期存储在数据库中,使用STR_TO_DATE格式为%d- %m-%Y 那么存储在表中的值应该具有 %d-%m-%Y 格式,否则它将不起作用,它应该与 $start 进行比较= '2014-04-01';,否则你需要另一个函数,即 DATE_FORMAT将其格式化为 01-04-2014

$this->db->where("DATE_FORMAT(STR_TO_DATE(Project.Begindatum,'%d-%m-%Y'),'%d-%m-%Y') >",
$start,FALSE);
$this->db->where("DATE_FORMAT(STR_TO_DATE(Project.Deadline,'%d-%m-%Y'),'%d-%m-%Y') <"
,$eind,FALSE);

关于mysql - 在 where 子句中将 varchar 转换为日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23079713/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com