kingbase人大金仓常用sql命令(自用总结)

开发过程中使用到的

平时用mysql数据库,第一次用人大金仓数据库,有一些地方还是有区别,记录一下。

  1. –修改字段数据类型
    –ALTER TABLE 表名 MODIFY 字段名 数据类型
ALTER TABLE sys_notice MODIFY scope varchar(500)
ALTER TABLE sys_dict_data MODIFY remark varchar(800)
  1. –查字段备注
select comments from user_col_comments where table_name='sys_notice' and column_name='scope';
  1. –给表加注释
comment on table sys_notice is '通知公告表';
  1. –给字段加备注
comment on column sys_notice.scope is '发布范围';
  1. #表已经创建之后 想要修改主键自增开始数字
    #步骤1: 首先创建一个序列 然后把序列给id
    –序列号的起始值(START WITH)、最小值(MINVALUE)、最大值(MAXVALUE) 序列值之间的递增幅度(INCREMENT BY),其中NOCYCLE选项表示序列在达到最大值或最小值后不会生成更多值。如果希望序列号可以循环使用,请使用CYCLE选项。CACHE子句预先分配100个序列号保存在内存中。用户每使用一次序列,都需要对序列进行一次查询,当保存在内存中可以大大加快获取序列号,当缓存中的最后一个序列号被使用时,数据库将向缓存读入另一组序列号。
    创建序列sql 1
CREATE SEQUENCE sp_menu_menu_ids_seqINCREMENT BY 1START WITH 1046MINVALUE 1046MAXVALUE 9999CACHE 100NOCYCLE;

创建序列sql 2
还可以简单一点:
创建一个序列sp_config_config_ids_seq,从10开始自增,默认为正增长,增长量为1
CREATE SEQUENCE 序列名称 START 10;

步骤2: 然后把序列给id
ALTER TABLE 表名 ALTER COLUMN 字段名 SET DEFAULT NEXTVAL(‘序列名’::REGCLASS);

alter table sp_menu alter column menu_id set default nextval('sp_menu_menu_ids_seq'::REGCLASS)
  1. **# 获取当前时间 **
select now();
SELECT TO_CHAR(now() ,'yyyy-MM-dd HH:mm:ss');
#当前年月日
SELECT TO_CHAR(now() ,'yyyy-MM-dd')# 时间戳
select current_timestamp;
# 日期
select current_date;
# 时间
select current_time;
  1. # 时间计算
select now() - interval '30D';
select now() + interval '2 years';
select now() - interval '1 Months';
select now() - interval '120 Minutes';
select timestampdiff('minute','2018-07-01 09:00:00','2018-07-04 12:00:00')

10.# 时间间隔

age
select age(timestamp '2023-01-27');
# 时间截取
extract
select extract(doy from now());
# 注意是 day of year 的简写
select extract(week from now());
select extract(month from now());

# 部分简写以及含义

Y    Years
M   Months (in the date part)
W   Weeks
D   Days
H   Hours
M   Minutes (in the time part)
S   Seconds
  1. #计算时间差
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
declarediff  interval day to second;diffs bigint;diffm bigint;diffh bigint;diffd bigint;nyy   bigint;  ny   bigint;nm    bigint;
begindiff:=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'  thenreturn ((diffd*24+diffh)*60+diffm)*60+diffs;elseif para1='minute' thenreturn (diffd*24+diffh)*60+diffm;elseif para1='hour' thenreturn diffd*24+diffh;elseif para1='day' then return diffd;elseif para1='month' thenreturn ny*12+nm;elseif para1='year' then return nyy;else raise warning 'para1 not support "%"!',para1;return null;end if;
end;

kingbase人大金仓常用sql命令(自用总结)相关推荐

  1. 猿创征文|从mysql 到kingbase(人大金仓)

    一.背景介绍 公司主要做toG 的项目,经常服务于各个地方政府.之前某省会城市下属区县项目,需要将已交付的项目中所使用到的各类中间件全部替换为国产,其中就包括了数据库的替换.项目中一直使用的是mysq ...

  2. kingbase(人大金仓)数据库的常用知识点与简单巡检

    KES服务的启停 查看服务是否已设为开机自启 systemctl list-dependencies |grep kingbase 除了使用systemctl和service还可以使用sys_ctl管 ...

  3. 人大金仓数据库sql语句_人大金仓数据库总结(SQL和JDBC)

    人大金仓作为一款国产数据库,使用的人数和相关资料都比较少. 最近使用人大金仓数据库,做了个简单的SQL和java jdbc的测试,希望能够供大家参考. 1.SQL语句 创建表: CREATE TABL ...

  4. 人大金仓常用查询sql

    V8r3查询license有效时间 select get_license_validdays(); select get_license_info(); copy用法 test=# copy (sel ...

  5. 人大金仓数据库sql语句_数据库SQL语句大全——最常用的SQL语句

    检索数据: 检索单个列: SELECT pname FROM product检索多个列: SELECT pname,market_price,is_hot FROM product检索所有列: SEL ...

  6. KINGBASE人大金仓数据库安装配置手册

    1.上传安装包 安装包和license文件上传到/home/setup/kingbase目录 2.操作系统配置 关闭防火墙 中标麒麟: systemctl stop firewalld systemc ...

  7. 人大金仓数据库sql语句_人大金仓KingbaseES与主流数据库的兼容性

    KingbaseES针对Oracle.DB2.SQL Server等为代表的国外主流数据库产品,在服务器.接口.工具等各组件中全面改进了兼容性,屏蔽KingbaseES与这些产品之间的差异,从而减少现 ...

  8. 人大金仓常用日期函数总结(持续更新中)

    1.获取当前时间.当前日期.当前时间戳 SELECT CURRENT_TIME, CURRENT_DATE, CURRENT_TIMESTAMP 2.天数加减 -- 昨天 SELECT CURRENT ...

  9. IDEA连接kingbase人大金仓数据库

    目录 在IDEA中配置数据库连接与DataGrip方法一样 kingbase8-8.2.0.jar 下载 URL temeplates 在IDEA中配置数据库连接与DataGrip方法一样 点击IDE ...

最新文章

  1. SpringCloud + Consul服务注册中心 + gateway网关
  2. java lock condition_Java 通过 Lock 和 竞争条件 Condition 实现生产者消费者模式
  3. Windows程序设计之创建窗口示例
  4. 学习Asp.net MVC相关资料
  5. Amazon、Linux基金会开发边缘网络交换器操作系统
  6. 【定时同步系列1】定时同步之MARTIN OERDER算法原理与公式推导
  7. LeetCode 289. 生命游戏(位运算)
  8. 图像处理:给验证码图片做降噪处理及数据清洗
  9. Cisco交换机设备配置镜像端口
  10. Jmeter测试计划无法保存或者另存为
  11. 网友热爱的截图软件--Sinpaste
  12. 如何把网易云音乐ncm格式转换成mp3格式---记一下
  13. Home Assistant 家庭助理安装
  14. 外联式 vue+element ui 表格导出e'xcel
  15. 音频-WAV数据格式
  16. 山东科技大学2015-2016学年第一学期程序设计基础期末考试第一场 题解
  17. 理解计算 从根号2到AlphaGo 第3季神经网络的数学模型
  18. 如何查看自己电脑的ip地址
  19. linux内核编译最详细,Linux内核编译详细教程,linux内核编译
  20. 智学网登录不了java_智学网常见问题解决方法介绍

热门文章

  1. Nginx 配置SSL 证书 cannot load certificate No such file or directory
  2. 《数字图像处理》(武汉大学)笔记第四章
  3. 市场主流性能测试工具简介
  4. 题解专栏(七):kotori和气球
  5. 传说中的100句英语可以帮你背7000单词(zt)
  6. SOAP Version 1.2
  7. 通过ScheduledExecutorService代替Timer
  8. MIT公开课: Python 笔记6 二分法,牛顿-拉夫森方法,列表
  9. 【JZOJ A组】凯旋而归
  10. 框架效应——说话的学问