2012-12-26 78 views
1

我在MySQL中有一個日期時間字段。MySQL,如何獲得日期格式的格式:YYYY-MM-DD HH

我需要按此格式YYYY-MM-DD HH

「二○一二年十二月二十○日10」,這兩個日期範圍的選擇 「2012年12月23日15」

我怎麼能在MySQL中做這個utcdt是我的日期時間字段?

SELECT DISTINCT utcdt 
FROM rtb 
WHERE 
utcdt>=UNIX_TIMESTAMP("2012-12-20 10") and utcdt<=UNIX_TIMESTAMP("2012-12-23 15") 

回答

5

使用BETWEENSTR_TO_DATE如下:

SELECT DISTINCT utcdt 
FROM rtb 
WHERE 
utcdt BETWEEN STR_TO_DATE('2012-12-20 10', '%Y-%m-%d %h') 
     and STR_TO_DATE('2012-12-23 15', '%Y-%m-%d %h') 
1

有許多方法可以做到這一點。 Yogendra Singh已經顯示了一個選項。你也可以這樣做:

SELECT DISTINCT utcdt 
FROM rtb 
WHERE 
UNIX_TIMESTAMP(utcdt) BETWEEN 
    UNIX_TIMESTAMP("2012-12-20 10") AND 
    UNIX_TIMESTAMP("2012-12-23 15"); 

...例如。或者,你甚至可以這樣做:

SELECT DISTINCT utcdt 
FROM rtb 
WHERE 
utcdt BETWEEN 
    "2012-12-20 10" AND 
    "2012-12-23 15"; 

...換句話說,甚至沒有必要轉換爲unix時間戳第一。

因此,以同樣的方式你試過,甚至:

SELECT DISTINCT utcdt 
FROM rtb 
WHERE 
utcdt >= "2012-12-20 10" AND 
utcdt <= "2012-12-23 15";