有用的SQL

--建序列
DROP SEQUENCE CMCS3_PROCESS_INSTANCE_INFO;

create sequence TransferBill_SEQ
minvalue 9999999999999999
maxvalue 999999999999999999999999999
start with 9999999999999999
increment by 1
cache 20;

create sequence TransferBillList_SEQ
minvalue 9999999999999999
maxvalue 999999999999999999999999999
start with 9999999999999999
increment by 1
cache 20;

--where ,group by ,having ,order by使用顺序
Select/update/delete…… from …… where …… group by …… having …… order by …… asc/desc

--删除和增加一列
alter table CMCS3_TRANSFER_BILL_LIST drop column PAYMENT_LIST_DATE

alter table CMCS3_TRANSFER_BILL_LIST add column PAYMENT_LIST_DATE
TIMESTAMP

--DB2查询序列方式
select NEXTVAL for MENU_SEQ from sysibm.sysdummy1;

--去掉char转化后的左边补充的00000000
SELECT TRIM(L ’0’ FROM '00123.45') FROM SYSIBM.SYSDUMMY1
将其他类型转换成char型直接用char()

--DB2的 DATE 和 TIMESTAMP 的区别
DATE 只能记录日期 年月日
TIMESTAMP 能记录年月日 时分秒

--外连接的问题
select count(*) from cmcs3_bank_account a left join cmcs3_transfer_bill b
on a.accountid = b.accountid
left join cmcs3_transfer_bill_list l
on b.transferbillid = l.transferbillid
where a.accountno = '1502206029300372918' and l.payeeaccountno = '138029283000004733' and l.payamount = '286900';

--oracle和DB2转换double型
to_number(tbl.payAmount) oracle
double(tbl.payAmount) DB2


--获取前20位数据库数据
FETCH FIRST 20 ROWS ONLY


--月末额度视图
DROP VIEW "CMBBCD_AH"."CMCS3_BANK_ACCOUNT_BALANCE_VIEW";

CREATE VIEW "CMBBCD_AH"."CMCS3_BANK_ACCOUNT_BALANCE_VIEW"
("ACCOUNTBALANCEID_", "ACCOUNTID_", "YEAR_", "MONTH_", "BALANCE_", "USEABLEBALANCE_",
"OVERDRAFT_" )
AS
select b.ACCOUNTBALANCEID as ACCOUNTBALANCEID_, b.ACCOUNTID as ACCOUNTID_,year(b.BALANCEDATE) as YEAR_,month(b.BALANCEDATE) as MONTH_, b.BALANCE as BALANCE_,b.USEABLEBALANCE as USEABLEBALANCE_,b.OVERDRAFT as OVERDRAFT_
from CMCS3_BANK_ACCOUNT_BALANCE b, (
select b1.ACCOUNTID as ACCOUNTID, max(b1.BALANCEDATE) as BALANCEDATE
from CMCS3_BANK_ACCOUNT_BALANCE b1 group by b1.ACCOUNTID,year(b1.BALANCEDATE),month(b1.BALANCEDATE) ) as b2
where b.ACCOUNTID = b2.ACCOUNTID and b.BALANCEDATE = b2.BALANCEDATE
WITH NO ROW MOVEMENT;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值