2014-10-26 67 views
0

我想從當前日期起2個月和5天減去一年,但我試圖用不同的合成文件打印出來。相反,它結合它打印出2個不同的東西如何結合Date_format和Date_sub

select DATE_FORMAT(NOW(), '%W, %M %d, %Y, %h:%i%p'),DATE_Sub(DATE_Sub(Date_Sub(NOW(), INTERVAL 2 year), INTERVAL 2 month), Interval 5 day); 

回答

1

在您的查詢中,您正在打印兩個字符串,第一個將date_format應用於NOW(),第二個字符串執行計算,但不應用date_format。

也許這就是你想要的?

SELECT 
DATE_FORMAT(
    DATE_Sub(
    DATE_Sub(
     Date_Sub(
     NOW(), 
     INTERVAL 2 year), 
     INTERVAL 2 month), 
    Interval 5 day), 
    '%W, %M %d, %Y, %h:%i%p' 
); 

輸出:

Tuesday, August 21, 2012, 03:58PM 

Sample SQL Fiddle

1

只需使用date_sub()得到正確的日期/時間:

select date_sub(date_sub(date_sub(now(), interval 1 year), interval 2 month), interval 2 day) 

select date_sub(date_sub(now(), interval 14 month), interval 2 day) 

然後用date_format()獲得它以任何你想要的格式:

select date_format(date_sub(date_sub(now(), interval 14 month), interval 2 day), '%W, %M %d, %Y, %h:%i%p')