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...