oracle last_day
函数返回该月的最后一天。
例如:
nls_date_format='YYYY-MM-DD H24:MI:SS'
select last_day(sysdate) from dual;
LAST_DAY(SYSDATE)
-------------------
2014-06-30 15:45:43
oracle也返回时间值。
我在PostgreSQL中尝试过以下sql,返回月份的最后一天,但时间值是" 00:00:00"。
select (date_trunc('month', now()) + interval '1 month -1 day')::timestamp(0);
?column?
---------------------------
2014-06-30 00:00:00
(1 row)
sql正确返回日期,但我想要像oracle一样的日期和时间。
答案 0 :(得分:4)
select (
date_trunc('month', now())
+ interval '1 month -1 day'
+ now()::time
)::timestamp(0);
答案 1 :(得分:0)
函数last_day()应该可以解决问题。该函数应该在名为“orafce”的扩展包中找到。包含Oracle中使用的其他函数。
安装正确版本的orafce软件包(如果需要):
apt-get install postgresql-9.1-orafce
SQL:
Create Extension orafce
如果错误将orafce - 3.0.sql重命名为orafce - 3.03.sql或用户更高版本的orafce。
使用功能:
SELECT last_day('2015-01-01')
按预期工作,结果为'2015-01-31'