從 SQL 列中選擇日期時間格式的日期

從 SQL 列中選擇日期時間格式的日期

允許使用者輸入的格式SQL 中儲存的格式

我試圖從 SQL 中選擇具有日期時間格式的列,例如2017-12-31 12:01:12,但我只需要選擇日期,例如2017-12-31基於使用者在表單中輸入並提交的日期。目標是選擇該日期內的所有活動。

範例:表單中的輸入格式只是yyyy-mm-dd,但是在SQL中,日期儲存為yyyy-mm-dd hh:mm:ss,如果輸入日期為yyyy-mm-ddformat ,則該列資料儲存為該格式時將被忽略yyyy-mm-dd hh:mm:ss

如何yyyy-mm-dd僅從yyyy-mm-dd hh:mm:ss列中進行選擇?

$mysql=("SELECT action_time FROM table WHERE action_time ='".$date."' Order by 
action_time DESC"); 

答案1

如果您只對日期部分感興趣,請使用DATE():

SELECT DATE(action_time) FROM table;

請注意,您應該始終檢查使用者輸入,因為可以變更客戶端(HTML 和 JS)以將任意資料傳送到您的伺服器。還請查看PHP中如何防止SQL注入?

相關內容