Eu tenho uma tabela no banco de dados MySQL que está configurada com DATETIME
. Eu preciso SELECT
nesta tabela apenas em DATE e excluindo a hora.
Como faço SELECT
para nesta tabela apenas por data e ignorando a hora, mesmo se essa coluna específica estiver definida como DATETIME
?
Exemplo
Agora é:
2012-01-23 09:24:41
Preciso fazer um SELECT
apenas para isso:2012-01-23
Respostas:
SELECT DATE(ColumnName) FROM tablename;
Mais sobre a função MySQL DATE () .
fonte
você pode usar date_format
para fuso horário
fonte
Você pode usar
select DATE(time) from appointment_details
apenas para dataou
Você pode usar
select TIME(time) from appointment_details
apenas por algum tempofonte
Tente usar
hoje:
para a data selecionada:
fonte
No MYSQL temos uma função chamada DATE_FORMAT (data, formato) . No seu caso, a declaração selecionada ficará assim: -
SELECT DATE_FORMAT(dateTimeFieldName,"%a%m%Y") as dateFieldName FROM table_name
Para mais informações sobre as funções Mysql DATE e TIME, clique aqui.
fonte
Simplesmente você pode fazer
fonte
Tentei fazer um
SELECT DATE(ColumnName)
, mas isso não funciona para asTIMESTAMP
colunas † porque elas são armazenadas em UTC e a data UTC é usada em vez de converter para a data local. Eu precisava selecionar as linhas que estavam em uma data específica no meu fuso horário, combinando minha resposta a esta outra pergunta com a resposta de Balaswamy Vaddeman a esta pergunta , eis o que fiz:Se você estiver armazenando datas como
DATETIME
Apenas faça
SELECT DATE(ColumnName)
Se você estiver armazenando datas como
TIMESTAMP
Carregue os dados de fuso horário no MySQL, caso ainda não tenha feito isso. Para servidores Windows, consulte o link anterior. Para servidores Linux, FreeBSD, Solaris e OS X, você faria:
Em seguida, formate sua consulta assim:
Você também pode colocar isso na
WHERE
parte da consulta como este (mas observe que os índices nessa coluna não funcionarão):(Obviamente, substitua
America/New_York
seu fuso horário local.)† A única exceção é se seu fuso horário local for GMT e você não fizer o horário de verão porque seu horário local é o mesmo que UTC.
fonte
Tente
SELECT * FROM Profiles WHERE date(DateReg)=$date
onde $ date está em aaaa-mm-ddalternativamente
SELECT * FROM Profiles WHERE left(DateReg,10)=$date
Felicidades
fonte
Você pode tentar isso:
Se você verificar o seguinte:
Você pode ver que leva muito tempo.
fonte
fonte
Por favor, tente esta resposta.
fonte
Usar
DATE_FORMAT
exemplo:
fonte
Este pode ser usado para obter a data no formato 'aaaa-mm-dd'.
fonte
se a coluna de tempo estiver no carimbo de data / hora, você obterá o valor da data desse carimbo de data / hora usando esta consulta
fonte
No interesse de realmente colocar uma solução de trabalho para esta questão:
Obviamente, você pode alterar a função NOW () para qualquer data ou variável que desejar.
fonte