簡體   English   中英

查詢從datetime轉換為mysql的日期

[英]Query to convert from datetime to date mysql

我想獲取datetime字段的日期部分。 我知道我可以使用date_format獲取它,但返回一個字符串或“varchar”字段。 如何將結果轉換為日期而不是varchar?

這是我的查詢返回varchar:

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

我嘗試了這個問題的幾個組合,但無法使它工作:

mysql查詢 - 輸出格式化日期?

任何幫助表示贊賞。

嘗試將其作為日期投射

SELECT CAST(orders.date_purchased AS DATE) AS DATE_PURCHASED

使用DATE功能

SELECT DATE(orders.date_purchased) AS date

Cyber​​nate或OMG Ponies解決方案都可以使用。 根本問題是DATE_FORMAT()函數返回一個字符串,而不是一個日期。 你寫的時候

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

我認為你基本上要求MySQL嘗試根據該格式字符串格式化date_purchased的值,而不是調用該列date_purchased ,將其稱為“Date”。 但該列將不再包含日期,它將包含一個字符串。 (因為Date_Format()返回一個字符串,而不是日期。)

我不認為這是你想做的,但那就是你在做什么。

不要混淆值看起來與值的關系。

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

我看到了許多類型的用途,但我發現這種布局作為參考工具更有用:

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

在此輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM