那些年遇到的DB2大坑

                                  那些年遇到的DB2大坑

目錄

                                  那些年遇到的DB2大坑

前言

一、DB2是什麼?

二、使用DB2所遇到的問題

1.序列

2.函數

3.存儲過程

三、DB2查詢日期

1.當前日期(yyyy-MM-dd)

2.當前日期(yyyyMMdd)

3.上月末

四、DB2數據精度問題

1.在處理數據時常會遇到小數點數據精度問題,可以使用下面sql進行轉換

2.在使用聚合函數時也會出現小數點數據精度問題(可以乘以丟失的小數位)

3.小數點前少0問題可以用拼接字符串解決

總結


 

前言

 記錄在使用DB2數據庫所遇到的大坑。

 

一、DB2是什麼?

    DB2 是美國IBM公司開發的一套關係型數據庫管理系統 ,通常用於銀行等需要大型數據庫的地方

二、使用DB2所遇到的問題

1.序列

查詢序列時要加from表

select test.seq_xulie.nextval from sysibm.sysdummy1

2.函數

select  test.func_hanshu('canshu') bieming from sysibm.dual

 

3.存儲過程

call cmas.proc_cunchunguocheng()

三、DB2查詢日期

1.當前日期(yyyy-MM-dd)

select current date from sysibm.dual

 

2.當前日期(yyyyMMdd)

select replace( char(current date),'-','') from sysibm.sysdummy1

3.上月末

select to_char(last_day(add_months(to_date('20201212','yyyymmdd'),-1)) ,'yyyymmdd')from sysibm.dual;

四、DB2數據精度問題

1.在處理數據時常會遇到小數點數據精度問題,可以使用下面sql進行轉換

select cast(round(cast(a as float)/b,2) as decimal(10,2)) from sysibm.sysdummy1

2.在使用聚合函數時也會出現小數點數據精度問題(可以乘以丟失的小數位)

sum(100/a*10000000)

3.小數點前少0問題可以用拼接字符串解決

select  to_char(cast(2.89 as decimal(10,2))) from sysibm.sysdummy1

總結

以上就是我在使用DB2所遇到的大坑,希望大神能夠指點交流

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章