2014-03-31 24 views
1

選擇不同的格式(DateAdd(「」s「」,「& columnname &」,「」1/1/1980 12:00:00 AM「」),'dd -MMM-yyyy')as A我需要一個sqlite等效的folling msaccess查詢

+0

所以,爲了確認要求,您希望能夠在固定的日期和時間內添加幾秒鐘。秒數包含在上面查詢中的'columnname'中?這是表中的一個參數還是一列,名稱建議稍後,但不是從表中選擇。 – ChrisProsser

+0

此外,從格式設置看,您似乎希望以秒爲單位添加數量,但會將結果截斷爲日期。它是否正確? – ChrisProsser

+0

謝謝你的回覆。列名是從表中提取的,它包含日期。選擇不同的格式(DateAdd(「s」,EXPIRY_DATE,「1/1/1980 12:00:00 AM」),'dd- MMM-yyyy')作爲A。它喜歡從unixdate獲得秒數,而不是unix date我必須使用1/1/1980 12:00:00 AM – user3458716

回答

0

我已經假定添加的秒數和原始日期是硬編碼值,同時等待評論中要求的澄清。

要秒數增加一個日期,你可以使用:

select datetime('1980-01-01 00:00:00', "345000 seconds"); 

這給出結果:1980-01-04 23:50:00

上面的例子是在幾秒鐘不到4天,如果要截斷結果只是查詢在你的問題中隱含的日期,然後你可以把它包含在日期函數中。但是,這會在訪問查詢中以「YYYY-MM-DD」格式顯示結果,而不是「DD-MMM-YYYY」。

不幸的是,我找不到任何原生SQLite函數來將數字月份值轉換爲mmm格式。您可以手動替換(與this question的回答類似),但這有點麻煩。

如果你是幸福地生活與數字月份,那麼你可以簡單地使用:

select strftime('%d-%m-%Y', '1980-01-01 00:00:00', "345000 seconds"); 

這給出結果:04-01-1980

在SQLite的日期更多信息/時間功能可以發現here