2012-12-26 50 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";