/ / Query para converter de data e hora para data mysql - sql, mysql, datetime, date

Consulta para converter de data e hora para data mysql - sql, mysql, datetime, date

Eu estou tentando obter a parte de data de um campo de data e hora. Eu sei que posso obtê-lo com date_format, mas isso retorna um campo de string ou "varchar". Como posso converter o resultado para data e não como varchar?

Esta é minha consulta retornando o varchar:

(Select Date_Format(orders.date_purchased,"%m/%d/%Y")) As Date

Eu tentei várias combinações desta questão, mas não consegui fazê-lo funcionar:

consulta mysql - formata a data na saída?

Qualquer ajuda é apreciada.

Respostas:

39 para resposta № 1

Tente lançá-lo como DATE

SELECT CAST(orders.date_purchased AS DATE) AS DATE_PURCHASED

28 for answer № 2

Use o Função DATE:

SELECT DATE(orders.date_purchased) AS date

3 para resposta № 3

A solução Cybernate ou OMG Ponies funcionará. O problema fundamental é que a função DATE_FORMAT () retorna uma string, não uma data. Quando você escreveu

(Select Date_Format(orders.date_purchased,"%m/%d/%Y")) As Date

Eu acho que você estava essencialmente pedindo ao MySQL para tentarpara formatar os valores em "date_purchased" de acordo com essa string de formato e, em vez de chamar essa coluna "date_purchased", chame-a de "Date". Mas essa coluna não conteria mais uma data, ela conteria uma string. (Porque Date_Format () retorna uma string, não uma data.)

Eu não acho que é o que você queria fazer, mas isso é o que você estava fazendo.

Não confunda como um valor se parece com o valor.


1 para resposta № 4

sintaxe de date_format:

SELECT date_format(date_born, "%m/%d/%Y" ) as my_date FROM date_tbl

"%W %D %M %Y %T"    -> Wednesday 5th May 2004 23:56:25
"%a %b %e %Y %H:%i" -> Wed May 5 2004 23:56
"%m/%d/%Y %T"       -> 05/05/2004 23:56:25
"%d/%m/%Y"          -> 05/05/2004
"%m-%d-%y"          -> 04-08-13

0 para a resposta № 5

Eu vejo muitos tipos de usos, mas acho esse layout mais útil como uma ferramenta de referência:

SELECT DATE_FORMAT("2004-01-20" ,"%Y-%m-01");

insira a descrição da imagem aqui