Estoy tratando de seleccionar de SQL una columna con formato de fecha y hora, por ejemplo 2017-12-31 12:01:12
, pero solo necesito seleccionar la fecha, por ejemplo, 2017-12-31
según la fecha que el usuario ingresó en un formulario y lo envió. El objetivo es seleccionar todas las actividades dentro de esa fecha.
Ejemplo: el formato de entrada en el formulario es yyyy-mm-dd
único, sin embargo, en SQL, las fechas se almacenan como yyyy-mm-dd hh:mm:ss
, si la fecha de entrada tiene yyyy-mm-dd
formato, esto se ignorará porque los datos de la columna se almacenan en este formato yyyy-mm-dd hh:mm:ss
.
¿Cómo puedo seleccionar yyyy-mm-dd
solo entre los yyyy-mm-dd hh:mm:ss
de la columna?
$mysql=("SELECT action_time FROM table WHERE action_time ='".$date."' Order by
action_time DESC");
Respuesta1
Si solo le interesa la parte de la fecha, utiliceDATE()
:
SELECT DATE(action_time) FROM table;
Tenga en cuenta que siempre debe verificar la entrada del usuario, ya que el lado del cliente (HTML y JS) puede modificarse para enviar datos arbitrarios a su servidor. También echa un vistazo¿Cómo prevenir la inyección de SQL en PHP?