当前位置:数据库 > DB2 >>

db2的介绍

1.建序列
CREATE SEQUENCE "ZGC3    "."SP_SEQ_MO_wbk" AS INTEGER
    MINVALUE 0 MAXVALUE 2147483647
    START WITH 21 INCREMENT BY 1
    CACHE 20 NO CYCLE NO ORDER;

SELECT NEXT VALUE FOR my_seq FROM sysibm.sysdummy1
 
2.分页
select * from (
select ROWNUMBER() OVER() as  ROWID, DESCRIPTION from SS.T_ROLE
) as a where a.ROWID >=5 and a.ROWID <=8
3.1、类型转化函数:
  转化为数字类型的:
decimal, double, Integer, smallint,real
Hex(arg):转化为参数的16进制表示。
  转化为字符串类型的:
char, varchar
Digits(arg):返回arg的字符串表示法,arg必须为decimal。
  转化为日期时间的:
date, time,timestamp
2、时间日期:
year, quarter, month, week, day, hour, minute ,second
dayofyear(arg):返回arg在年内的天值
Dayofweek(arg):返回arg在周内的天值
days(arg):返回日期的整数表示法,从0001-01-01来的天数。 
midnight_seconds(arg):午夜和arg之间的秒数。
Monthname(arg):返回arg的月份名。
Dayname(arg):返回arg的星期。 
3、字符串函数:
length,lcase, ucase, ltrim, rtrim
Coalesce(arg1,arg2….):返回参数集中第一个非null参数。
Concat (arg1,arg2):连接两个字符串arg1和arg2。
insert(arg1,pos,size,arg2):返回一个,将arg1从pos处删除size个字符,将arg2插入该位置。
left(arg,length):返回arg最左边的length个字符串。
locate(arg1,arg2,<pos>):在arg2中查找arg1第一次出现的位置,指定pos,则从arg2的pos处开始找arg1第一次出现的位置。
posstr(arg1,arg2):返回arg2第一次在arg1中出现的位置。
repeat(arg1 ,num_times):返回arg1被重复num_times次的字符串。
replace(arg1,arg2,arg3):将在arg1中的所有arg2替换成arg3。
right(arg,length):返回一个有arg左边length个字节组成的字符串。
space(arg):返回一个包含arg个空格的字符串。
substr(arg1,pos,<length>):返回arg1中pos位置开始的length个字符,如果没指定length,则返回剩余的字符。
4、数学函数: 
Abs, count, max, min, sum
Ceil(arg):返回大于或等于arg的最小整数。
Floor(arg):返回小于或等于参数的最小整数。
Mod(arg1,arg2):返回arg1除以arg2的余数,符号与arg1相同。
Rand():返回1到1之间的随机数。
Power(arg1,arg2):返回arg1的arg2次方。
Round(arg1,arg2):四舍五入截断处理,arg2是位数,如果arg2为负,则对小数点前的数做四舍五入处理。
Sigh(arg):返回arg的符号指示符。-1,0,1表示。
truncate(arg1,arg2):截断arg1,arg2是位数,如果arg2是负数,则保留arg1小数点前的arg2位。
5、其他:
nullif(arg1,arg2):如果2个参数相等,则返回null,否则,返回参数1

备份DB2数据库的方法如下:
在db2inst1用户下操作.
在你要保存数据的当前目录执行以下命令:
$ db2stop force (停止数据库)
$ db2start (启动数据库)
*可不停止数据库,直接执行以下命令:
$ db2 connect to 数据库名 user 用户名 using 密码 (连接数据库)
$ db2 backup db 数据库名
系统会自动备份生成一个时间戳的数据备份文件,
如:xxxx.0.db2inst1.NODE0000.CATN0000.20070814031212.001
 
恢复数据库
在你备份出数据的当前目录执行以下命令:
$ db2 restore db 数据库名 taken at 20070814031212(直接取数据备份生成的时间戳即可

6.load
db2 load from s.del of del insert into table
7.使用with 查询:
with temp (t1,t2,t3,t4,t5) as
(select conntr_no,org_cd,dept_cd,sum(acc_bal),sum(avg_bal_Y) from deposit_m_acct where org_cd='802000050' group by conntr_no,org_cd,dept_cd)
select t1,t2,t3,t4 from temp
union all
select t1,t2,t3,t5 from temp;

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,