2015-09-18 89 views
1

我有這段代碼。我的問題是strduedate字段是varchar類型。如何將該字段轉換爲datetime,以便我可以執行大於查詢。PHP將查詢轉換爲DATE

場景。

鑑於我的數據庫中strduedate是= '01/02/2016' 當我執行它說,strduedate小於這是2015年9月18日的當前日期查詢

$date_now = new DateTime(); 

$sql = "UPDATE jrf_tbl SET strifoverdue ='no' WHERE strduedate > '$date_now' "; 
$OverDue->updatefields($sql); 
+0

['STR_TO_DATE(STR,格式)'](https://dev.mysql.com/doc/refman/5.5/en /date-and-time-functions.html#function_str-to-date) - 'STR_TO_DATE(strduedate,'%m /%d /%Y')' – Sean

回答

2

只需使用的MySQL STR_TO_DATE函數是這樣的:

$sql = "UPDATE jrf_tbl SET strifoverdue ='no' WHERE STR_TO_DATE(strduedate, '%m/%d/%Y') > '$date_now' "; 
$OverDue->updatefields($sql);