[英]How to Properly Convert or Query Date Range for Rails / MySQL DateTime Column
[英]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
我嘗試了這個問題的幾個組合,但無法使它工作:
任何幫助表示贊賞。
嘗試將其作為日期投射
SELECT CAST(orders.date_purchased AS DATE) AS DATE_PURCHASED
使用DATE功能 :
SELECT DATE(orders.date_purchased) AS date
Cybernate或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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.