首页 > 其他分享 >kingbase人大金仓计算时间差

kingbase人大金仓计算时间差

时间:2023-11-15 16:45:43浏览次数:27  
标签:10 金仓 return 00 kingbase 时间差 para1 bigint extract

select timestampdiff('minute','2023-04-17 10:00:00',now()) 
select timestampdiff('day','2023-04-10 10:00:00',now()) 
select timestampdiff('month','2023-03-10 10:00:00',now())
select timestampdiff('year','2012-03-10 10:00:00',now()) 

需要计算两个日期之间相差的时间,人大金仓不支持TimeStampDiff 函数,需要我们自己在数据库创建TimeStampDiff 函数。

要注意:在金仓中minute 这个要加单引号并且要小写,这个是当参数传进来的。

数据库函数代码如下:

 create or replace function timestampdiff(para1 text,para2 timestamp,para3 timestamp) return bigint
as
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;

标签:10,金仓,return,00,kingbase,时间差,para1,bigint,extract
From: https://www.cnblogs.com/henuyuxiang/p/17834182.html

相关文章

  • 人大金仓数据库设置大小写敏感
    1.  人大金仓数据库应设置大小写不敏感1.1. 大小写敏感检查方法1.1.1. V8R3版本检查方法:在人大金仓数据库客户端执行语句:showcase_sensitive;返回结果on:表示大小写敏感;返回结果off:表示大小写不敏感1.1.2. V8R6版本检查方法:执行语句:showenable_ci;返回......
  • 人大金仓数据库的快速安装部署
    人大金仓数据库的快速安装部署说明人大金仓数据库是1999年以王珊教授为代表,中国人民大学一批最早在国内开展数据库教学、科研、开发的专家,创立了我国第一家数据库公司——人大金仓。王珊教授师从萨师煊教授.是中国人民大学的博士生导师人大金仓的创立时间实际上是比武汉......
  • kingbaseES表别名
    不同模式下的表如果要进行查询除了public模式下其他模式下都需要在sql的表名前加模式名.使用别名可以省略这个操作别名 对于只读用户,必须创建与表相同名字的别名。别名的访问顺序:public别名->private别名->与表同名的对象 测试select*fromops_task_rwhe......
  • 关于在页面列表里查询数据的时间和页面实时弹窗中的时间差1秒钟的问题
    1、问题:在一次告警中心功能的演示时,告警列表页中的实时告警数据,每次都跟弹窗的告警提示信息查一秒,有时候有事正常的,就很奇怪。2、解决:经过进行代码断点,发现在插入告警时间时,使用的LocalDateTime,该时间时带有纳秒时间的,比如在程序中显示的时间值是:1990-01-01T00:01:01.111,此时存......
  • kingbase初始化报错
    [zjh@hs-10-20-30-193Server]$rm-rfdata[zjh@hs-10-20-30-193Server]$./bin/initdb-DdataThefilesbelongingtothisdatabasesystemwillbeownedbyuser"zjh".Thisusermustalsoowntheserverprocess.Thedatabaseclusterwillbeinitializ......
  • PostgreSQL(kingbaseES) 中,可以使用 unnest 函数将一个包含多个值的字符串分割成多行
    在PostgreSQL中,您可以使用unnest函数将一个包含多个值的字符串分割成多行。unnest函数将一个数组(或者像我们的情况下是由STRING_TO_ARRAY函数生成的数组)展开为多行数据。假设您有一个表my_table,其中包含一个名为my_column的字符串列,其内容如下:my_column-----------......
  • 2023年10月中国数据库排行榜:墨天轮榜单前五开新局,金仓、亚信热度攀升
    怀鸿鹄之志,展骐骥之跃。2023年10月的墨天轮中国数据库流行度排行火热出炉,本月共有286个数据库参与排名。本月排行榜前十名变动较大,华为openGauss重归探花之位,人大金仓KingBase热度上升,亚信AntDB进军10强。墨天轮榜单前10之争再起风云,各数据库厂商持续锻造利器。本月排......
  • Linux安装人大金仓数据库kingbaseES
    1、查看CPU架构信息#lscpu2、下载数据库安装包官网地址:https://www.kingbase.com.cn/xzzx/index.htm选择产品类型:KingbaseES;选择版本:V8R6最新版V008R006C008B0014;根据服务器架构选择安装包,这里选择X86_64 下载授权文件,这里下载开发版,尽量选择企业版,开发版最大连接数为1......
  • 温度 = 初始料温 * e^(k*时间差) + 车间温度
    #定义函数,一定要考虑初始料温,否则初始料温缺失的料算不准#温度=初始料温*e^(k*时间差)+车间温度#k=风机类型+表面积#o<e^k<1即k<0deffun_exp(X,k1,k2,k3,k4,k5,k6):a,x,b,Z1,Z2=Xk=[k1,k2,k3,k4,k5]@Z1+k6*......
  • KingbaseES V8R6集群运维案例之---查看主备流复制之间的延迟
    案例说明:在主备流复制集群运维过程中,对于同步复制节点,在读写分离环境应用需要强一致性访问时,需要监控主备之间流复制的延迟。适用版本:KingbaseESV8R6一、主库查询流复制延迟1、通过sys_stat_replication获取sent_lsn、write_lsn、flush_lsn、replay_lsn获取备库延迟信息......