2014-03-04 57 views
1

有了這種SQL語句,我該如何從'date_created'列中刪除毫秒?在SQL命令中刪除毫秒

SELECT sales.id, 
     sales.filename, 
     account.description customer, 
     sales.uploaded, 
     sales.date_created 
    FROM account 
     JOIN salesStore sales 
      ON sales.customer_id = account.id 
WHERE sales.date_created::date BETWEEN '2014-02-27' 
            AND '2014-03-01' 
ORDER BY 
     sales.date_created DESC 
+1

你們是不是要完全取消毫秒或時間分量?你的where子句似乎表明你只對日期感興趣。 –

+0

@sam yi - 只有我想從我的date_created列中移除的毫秒數。 – sack

+1

「sales.date_created」列的原始數據類型應該在您的問題中。 –

回答

1

試試這個。這將從日期中刪除毫秒部分。

DATEADD(ms, -DATEPART(ms, date), date) 
3

Per documentation:

timetimestampinterval接受一個可選的精度值p 指定的保留在 秒字段小數的位數。默認情況下,精度沒有明確的限制。 允許的範圍p對於timestampinterval 類型從0到6。

所以你可以轉換爲timestamp(0)(或timestamptz(0))刪除小數秒:

date_created::timestamp(0)