Estou tentando selecionar no SQL uma coluna com formato de data e hora, por exemplo 2017-12-31 12:01:12
, mas só preciso selecionar a data, por exemplo, 2017-12-31
com base na data que o usuário inseriu em um formulário e enviou. O objetivo é selecionar todas as atividades dentro dessa data.
Exemplo: o formato de entrada no formulário é yyyy-mm-dd
apenas, porém no SQL as datas são armazenadas como yyyy-mm-dd hh:mm:ss
, se a data de entrada for yyyy-mm-dd
o formato, isso será ignorado pois os dados da coluna são armazenados neste formato yyyy-mm-dd hh:mm:ss
.
Como posso selecionar yyyy-mm-dd
apenas na yyyy-mm-dd hh:mm:ss
coluna?
$mysql=("SELECT action_time FROM table WHERE action_time ='".$date."' Order by
action_time DESC");
Responder1
Se apenas a parte da data lhe interessa, useDATE()
:
SELECT DATE(action_time) FROM table;
Observe que você deve sempre verificar a entrada do usuário, pois o lado do cliente (HTML e JS) pode ser alterado para enviar dados arbitrários ao seu servidor. Confira tambémcomo evitar injeção de SQL em PHP?