有了这种SQL语句,如何从'date_created'列中删除毫秒?
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
答案 0 :(得分:4)
答案 1 :(得分:3)
time
,timestamp
和interval
接受可选的精确值p
它指定了保留的小数位数 秒场。默认情况下,精度没有明确的界限。 对于p
和timestamp
,interval
的允许范围为0到6 类型。
您可以强制转换为timestamp(0)
(或timestamptz(0)
)以删除小数秒:
date_created::timestamp(0)
轮次 到完整秒数 - 而不是<{3>} 截断 。
答案 2 :(得分:2)
DATE_FORMAT(sales.date_created, '%Y-%m-%d')
。
对于其他sql引擎,它可能会有所不同,您必须精确地使用它。
修改:添加%H:%i:%s
以保留日期组件。
<强>更新强>
对于PostgreSQL,请参阅PostgreSQL's Documentation for Data Type Formatting Functions或[SO] How to compare dates in datetime fields in Postgresql?,它提供了几种日期比较选项。
答案 3 :(得分:1)
试试这个。这将从日期中删除毫秒部分。
DATEADD(ms, -DATEPART(ms, date), date)