DB2中一些常用sql函式

2021-10-01 17:50:05 字數 922 閱讀 7349

1.merge into ...using ...when matched then ...

應用場景:此函式一般用於表與表之間欄位的更新,判斷b表和a表是否滿足on中條件,如果滿足則用b表去更新a表,如果不滿足,則將b表資料插入a表,是有有很多可選項。

用例:有乙個表t,有兩個欄位a、b,我們想在表t中做insert/update,如果條件滿足,則更新t中b的值,否則在t中插入一條記錄。

merge into 目標表 t1 using 源表 t2  on(t1.條件欄位1 = t2.條件欄位1 and t1.條件欄位2 = t2.條件欄位2 ……)  when matched then update set t1.更新字段 = t2.欄位 when  not macthed then insert into t1(欄位1, 欄位2 ……)values(值1, 值2 ……)

2.replace

update [table_name] set [column_name] = replace([column_name], '被替換的資料', '替換的資料') 

3.case when ... end

case when 條件 then 結果1 else 結果2 end 其中when可以重複多次

示例: select case when 條件2 then 結果1 when 條件2 then 結果2 else 結果3 end from [table_name]

4.row_number() over()

應用場景:此函式一般用於給每條資料新增序號

用法:row_number() over(partition by 分組列 order by 排序列 desc)

示例: select 欄位1, row_number()over(partition by 分組列 order by 排序列 desc) rownum from [table_name]

DB2中的一些函式

最近用db2,資料庫之間的差異還是很大的,好多函式都不一樣 1.去空格 db2中 ltrim 是去左邊空格,rtrim 是去右邊空格。informix中 trim 就是去空格。用法 例 string a abc db2中 ltrim a abc rtrim a abc rtrim ltrim a a...

DB2中的一些函式

最近用db2,資料庫之間的差異還是很大的,好多函式都不一樣 1.去空格 db2中 ltrim 是去左邊空格,rtrim 是去右邊空格。informix中 trim 就是去空格。用法 例 string a abc db2中 ltrim a abc rtrim a abc rtrim ltrim a a...

DB2常用函式

1 char函式 char current date,iso 轉換成yyyy mm dd char current date,usa 轉換成mm dd yyyy char current date,eur 轉換成dd.mm.yyyy char current date,jis char curren...