从日期列中删除时间

时间:2018-03-12 09:58:20

标签: oracle postgresql sqldatatypes

我们正在将数据库从Oracle迁移到PostgreSQL。

目前我们正在使用trunc(date)从日期列中删除时间 我想知道一个适用于Oracle和postgreSQL db的通用解决方案吗?

2 个答案:

答案 0 :(得分:1)

您可以在Postgresql中创建一个重载的TRUNC函数。

CREATE FUNCTION TRUNC ( dttm TIMESTAMP ) RETURNS TIMESTAMP 
AS
$$
SELECT DATE_TRUNC('DAY',$1);
$$
LANGUAGE SQL
IMMUTABLE;

select TRUNC(NOW()::timestamp);

12.03.2018 00:00:00

答案 1 :(得分:0)

您可以在postgresql

中将其转换为日期 像这样

SELECT timestamp '2009-12-22 11:01:46'::date
>>> 2009-12-22