首页 > 其他分享 >kingbase——创建timestampdiff函数

kingbase——创建timestampdiff函数

时间:2024-09-09 11:14:25浏览次数:1  
标签:return 函数 kingbase timestampdiff para1 bigint diffd diff extract

创建函数如下:
CREATE OR REPLACE FUNCTION "ops_data"."timestampdiff"("para1" text, "para2" "sys"."timestamp", "para3" "sys"."timestamp") RETURNS "pg_catalog"."int8" AS $BODY$ declare diff interval day to second; diffs bigint; diffm bigint; diffh bigint; diffd bigint; nyy bigint; ny bigint; nm bigint; begin diff:=para3-para2; diffs:=extract(second from diff); diffm:=extract(minute from diff); diffh:=extract(hour from diff); diffd:=extract(day from diff); ny:=extract(year from age(para3,para2)); nm:=extract(month from age(para3,para2)); nyy:=extract(year from para3)-extract(year from para2); if para1='second' then return ((diffd*24+diffh)*60+diffm)*60+diffs; elseif para1='minute' then return (diffd*24+diffh)*60+diffm; elseif para1='hour' then return diffd*24+diffh; elseif para1='day' then return diffd; elseif para1='month' then return ny*12+nm; elseif para1='year' then return nyy; else raise warning 'para1 not support "%"!',para1; return null; end if; end$BODY$ LANGUAGE plsql VOLATILE COST 100

timestampdiff函数: TIMESTAMPDIFF() 函数返回两个日期/日期时间之间的时间间隔。
示例如下:
TIMESTAMPDIFF(unit, datetime1, datetime2)
unit
必需的。时间间隔的单位,可用值有:** MICROSECOND, SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QUARTER, YEAR.**










标签:return,函数,kingbase,timestampdiff,para1,bigint,diffd,diff,extract
From: https://www.cnblogs.com/lidadudu/p/18404189

相关文章

  • C++学习笔记(曾经我看不懂的代码2:基于范围的for循环、auto使用、stl容器、template模
    不知不觉c++程序设计:标准库已经看了一大半了,学到了很多,很多曾经在网上和在书上看到却看不懂的代码,在看完标准库中的大半内容以后,都能大致的理清代码的含义。代码模板一:for(auto&a:arr)1、基于范围的for循环:a为迭代变量,arr为迭代范围,&表示引用。写一个例子:#include<ios......
  • C/C++中extern函数使用详解
    extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。此外extern也可用来进行链接指定目录一、定义和声明的区别二、extern用法2.1extern函数2.2extern变量2.3在C++文件中调用C方式编译的函数三、通俗讲......
  • fmt.Printf 函数用于格式化并打印信息到标准输出
    在Go语言中,fmt.Printf函数用于格式化并打印信息到标准输出。%c和%d是格式化参数中的占位符,用于指定输出的格式。以下是一些常用的格式化参数:%v:默认格式,根据变量的类型自动选择输出格式。%+v:类似 %v,但会输出字段名。%#v:类似 %v,但会输出Go语法表示。%T:输出变量的类型......
  • 【SQL数据库技术开发】第41课时-数据库SQL Date 函数
    SQL Date 函数SQL日期(Dates)当我们处理日期时,最难的任务恐怕是确保所插入的日期的格式,与数据库中日期列的格式相匹配。只要您的数据包含的只是日期部分,运行查询就不会出问题。但是,如果涉及时间部分,情况就有点复杂了。在讨论日期查询的复杂性之前,我们先来看看最重要的......
  • c++的构造函数与析构函数
    构造函数与析构函数构造函数1、什么构造函数类、结构、联合中的特殊成员函数,与类名、结构名、联合名同的成员函数,没有返回值。class类名{public:  类名(参数列表) {     }};2、何时调用构造函数当创建类对象时(实例化对象)会自动调用构造函......
  • C++17: 用折叠表达式实现一个IsAllTrue函数
    前言让我们实现一个IsAllTrue函数,支持变长参数,可传入多个表达式,必须全部计算为true,该函数才返回true。本文记录了逐步实现与优化该函数的思维链,用到了以下现代C++新特性知识,适合对C++进阶知识有一定了解的人。这样一种从实际问题来学习和运用知识的过程还是挺有趣的,特此整理分......
  • 【C语言基础】函数与变量
    函数的分类:从定义角度分:库函数:随C语言编译器提供的。无须用户定义,只需在程序前包含含有该函数原型的头文件。自定义函数:用户自己定义的函数。从函数返回结果角度分:有返回值函数:函数在执行完需要返回一个值,这个值就是函数的值。无返回值函数:函数只执行任务,不返回任何值......
  • Python函数之lambda函数
    温馨提示:如果读者没有学过def定义函数,请先看这里定义形式<函数名>=lambda<参数列表>:<返回值>等同于:def<函数名>(<参数列表>): return<返回值>也可以定义为匿名函数(没有名字的函数):lambda<参数列表>:<返回值>可以确认lambda函数对象的类型与def定义的一样,都是fu......
  • Python和MATLAB(Java)及Arduino和Raspberry Pi(树莓派)点扩展函数导图
    ......
  • 【Python】对象(包括类、函数)取名方法
    先上干货,通用的:字母:A-Za-z下划线:_数字:0-9(注意:数字不能在开头)理论上可以使用中文变量名,但强烈不建议使用。合法名字举例abcdef GoodCoder AD_fhrygfuigfrA_a_007 __NAME123 _P_T__123456 Cc_Dd _不合法名字举例666Code C++ 1+1=2 (5)4654ty54F 0.123 [email protected]......