从具有日期时间格式的 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-dd格式,则会忽略此格式,因为列数据以此格式存储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 注入?

相关内容