CREATE OR REPLACE FUNCTION timeadd(difftype character varying, incrementvalue integer, inputdate timestamp with time zone)
RETURNS timestamp without time zone AS
$BODY$
DECLARE
YEAR_CONST Char(15) := 'year';
MONTH_CONST Char(15) := 'month';
WEEK_CONST Char(15) := 'week';
DAY_CONST Char(15) := 'day';
HOUR_CONST Char(15) := 'hour';
MIN_CONST Char(15) :='mi';
SECOND_CONST Char(15) :='ss';
dateTemp timestamp;
intervals interval;
BEGIN
IF lower($1) = lower(YEAR_CONST) THEN
select cast(cast(incrementvalue as character varying) || ' year' as interval) into intervals;
ELSEIF lower($1) = lower(MONTH_CONST) THEN
select cast(cast(incrementvalue as character varying) || ' months' as interval) into intervals;
ELSEIF lower($1) = lower(WEEK_CONST) THEN
select cast(cast(incrementvalue as character varying) || ' week' as interval) into intervals;
ELSEIF lower($1) = lower(DAY_CONST) THEN
select cast(cast(incrementvalue as character varying) || ' day' as interval) into intervals;
ELSEIF lower($1) = lower(HOUR_CONST) THEN
select cast(cast(incrementvalue as character varying) || ' hour' as interval) into intervals;
ELSEIF lower($1) = lower(MIN_CONST) THEN
select cast(cast(incrementvalue as character varying) || ' minute' as interval) into intervals;
ELSEIF lower($1) = lower(SECOND_CONST) THEN
select cast(cast(incrementvalue as character varying) || ' second' as interval) into intervals;
END IF;
dateTemp:= inputdate + intervals;
RETURN dateTemp;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;
------------------------------------------- API ------------------------------------------------------------
功能:类似于Sybase语法中的dateadd函数,用于时间加减相应的时间段
参数:
- $1 时间运算格式,分为:ss(秒),mi(分钟),hour(小时),day(天),week(周),month(月),year(年)
- $2 时间运算间隔,整型,正负均可
- $3 本地时间,常用now()代替
范例:
select timeadd('day',-1,now())
分享到:
相关推荐
postgresql 兼容 oracle 函数, postgresql 兼容 oracle 函数,postgresql 兼容 oracle 函数, postgresql 兼容 oracle 函数
postgresql 实现c language外部函数调用,为了提高数据库信息安全及数据库性能,通过c language实现相关功能,并编译成动态链接库so方式,供数据库postgresql调用,在数据库端只见函数的实现接口,隐藏实现细节
1. 博客:PostgreSQL的学习心得和知识总结(六十七)|语法级自上而下完美实现MySQL数据库的 IF函数和IFNULL函数 的实现方案
postgresql 字符串函数 收集各种字符串操作函数postgresql 字符串函数 收集各种字符串操作函数
PostgreSQl函数部分阅读笔记 关于函数部分在PostgreSQL中的实现问题的解释 聚集函数
Postgresql优化器函数调用思维导图:PG优化器模块函数的调用关系以及部分说明,采用思维导图的方式清晰的表达优化器中逻辑优化和物理优化函数,快速理清优化器的功能
支持2万+汉字转拼音
PostgreSQL 函数 自定义 PostgreSQL 函数和扩展的存储库。 diff_tables 一个简单的 plpgsql 函数,它接受两个表名(通过regclass类型),构建一个比较它们的内容的查询,运行它,并返回一组具有不同行的类似 diff ...
《PostgreSQL的Window分析函数源码优化》 Window(窗口)函数作为关系数据库领域中内数据库分析技术的一种解决...通过与PostgreSQL数据库原有的窗口函数实现以及现有商业数据库进行性能上的对比,验证了新算法的有效性。
博客:PostgreSQL的学习心得和知识总结(六十五)|关于PostgreSQL数据库 实现MySQL数据库find_in_set()函数 的实现方案
pgsql 自定义函数使用C动态库生成, 非常简单的一个示例。
支持2万+汉字转拼音首字母
oracle中使用USERENV 函数来获取当前会话变量的函数,支持的参数有: CLINET_INFO 返回最高可达64个字节存储的用户会话信息,可由应用程序使用DBMS_APPLICATION_INFO包。 ENTRYID 返回当前审计条目编号。审计...
PostgreSQL 正则表达式 常用函数的总结 对那些需要进行复杂数据处理的程序来说,正则表达式无疑是一个非常有用的工具。本文重点在于阐述 PostgreSQL 的一些常用正则表达式函数以及源码中的一些函数。 正则相关部分的...
用JDBC连接OpenGauss Postgresql 实现增删改查功能的图书管理系统
PostgreSQL PostgreSQL PostgreSQL学习手册 学习手册 学习手册 (函数和操作符 函数和操作符 函数和操作符 <一>) 25 一、逻辑操作符: 一、逻辑操作符: 一、逻辑操作符: 一、逻辑操作符: .25 四、字符串函数和操作...
postgreSQL窗口函数总结 1 窗口函数说明 2 row_number/rank/dense_rank的区别 2 窗口函数语句 2 1 准备数据 3 1.1 创建测试的表test1 3 1.2 插入数据到test1表中 3 2 rank over 窗口函数使用 3 2.1 按照分区查看每行...
下载如有问题,可私信博主。下载前建议先查看博客内容,其地址为:https://blog.csdn.net/QQ98281642/article/details/120483897
PostgreSQL学习手册(函数和操作符<一>) PostgreSQL学习手册(函数和操作符<二>) PostgreSQL学习手册(函数和操作符<三>) PostgreSQL学习手册(索引) PostgreSQL学习手册(事物隔离) PostgreSQL学习手册(性能提升技巧原理...
博文中的测试数据库