DB2数据库操作日常记录

IBIM的数据库

1、DB2 修改列属性 设置默认值

1.更改类型(设置为主键的列不能更改类型)

ALTER TABLE "SCHEMA"."TABLENAME" ALTER COLUMN "COL" SET DATA TYPE VARCHAR(32);

2.更改默认值

ALTER TABLE "SCHEMA"."TABLENAME" ALTER COLUMN "COL" SET DEFAULT 'ABC';

系统默认值:

ALTER TABLE "SCHEMA"."TABLENAME" ALTER COLUMN "COL" SET DEFAULT; --设置默认值
ALTER TABLE "SCHEMA"."TABLENAME" ALTER COLUMN "COL" DROP DEFAULT; --删除默认

3.更改是否允许空值

ALTER TABLE "SCHEMA"."TABLENAME" ALTER COLUMN "COL" SET NOT NULL;
ALTER TABLE "SCHEMA"."TABLENAME" ALTER COLUMN "COL" DROP NOT NULL;

更改列类型,是否允许空值后,需要执行REORG TABLE “TABLENAME”;
更改默认值后,通常需要执行

UPDATE "SCHEMA"."TABLENAME" SET "COL" = DEFAULT WHERE "COL" IS NULL;

4.sum

SELECT MANUFACTORY_ID as "manuFactoryId",
DEVICE_ID as "deviceId",
DEVICE_NAME as "deviceName",
SUM(QTYD_01) as "qtyd01",
SUM(QTYD_02) as "qtyd02",
group by MANUFACTORY_ID,DEVICE_ID,DEVICE_NAME;

5.decimal

官网

decimal(SUM(QTYD_01),2) as "qtyd01",

6.版本查看

-- 查看版本
SELECT service_level, fixpack_num FROM TABLE(sysproc.env_get_inst_info()) as INSTANCEINFO

7.CASE WHEN

CASE WHEN QTYD_01 = 0 THEN 1 END

8.格式化字符日期格式

-- START_DATE = YYYYMMDDHH24
to_date(START_DATE, 'YYYY-MM-DD HH24')

9字符串转DB2日期格式

TIMESTAMP_FORMAT(START_DATE, 'YYYYMMDDHH24')
-- 日期格式可以直接加减日期值
START_DATE + 1 DAY - HOUR(START_DATE) HOURS

10.时间格式只保留日期

DATE (START_DATE) as START_DATE,
-- 2023-11-01 00:00:00.000000 转为2023-11-01

11. substr的不同

substr是没有为0的下标的,是从1开始的
在这里插入图片描述

12. 拼接两个字段并添加中间字符 || 运算符

也可以添加

PACKING_TYPE || '_' ||PACKING_SPECIFICATION as "packageType"
SELECT CONCAT(field1, ' ', field2) as combinedField
FROM yourTable;

参考文章

个人笔记,不同意见,望有交流
直接可以点击跳转连接

作者: RyanDYJ

参考文章

个人笔记,不同意见,望有交流
直接可以点击跳转连接

作者

posted @   啧啧啧|(* ̄ ̄*)  阅读(32)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示