工作上遇到DB2 SQL函式

2021-05-26 15:19:38 字數 658 閱讀 8798

1,將varchar型別的資料轉換成integer並選擇最大值,即 把字段型別的資料排序

select max(cast(sum_max_no as integer)) from dw_product_user_yymm

2 ,用row_number() over(partition by user_id order by seid) 求唯一值

select * from (select calguid,row_number() over(partition by sourceid) num from t_cm_calinfo ) as res where res.num=1

這個可以過濾掉乙個欄位內相同的內容(row_number() over(partition by sourceid) ),並且還可以有其他字段。partition by是分組

3.select varchar_format( time, 'yyyy-mm-dd hh24:mi:ss') from table

上述函式為db2格式化日期為指定型別

4.select max(cast(sum_max_no as integer)) from t_cw_periodical fetch first 3 rows only

fetch first 3 rows only這句話表示從查詢出的結果中只要前3條

db2sql語句優化

最經專案中要用到乙個樹形載入結構,由於底層資料有點多,再加上sql語句沒有怎麼優化,所以頁面資料載入的時候特別慢。只查詢底層資料的話就需要七八秒中,後來經過別人的指點從新優化sql後,底層資料的載入查詢控制在了200毫秒以為。現在就貼上我的sql語句,供大家看一下 沒有優化的sql語句 select...

DB2 SQL語句筆記

1 case when語句 sql中的case when使用,case具有兩種格式 簡單case函式和case搜尋函式。簡單case函式 case when 1 then 男 when 2 then 女 else 其他 end case搜尋函式 case when 1 then 男 when 2 t...

DB2 SQL語句的優化

最近在做一銀行的優化專案,由於正在學習中,所以做的一些筆記 1.sql語句除了引號內的特殊字元,其他的語句都要大寫。2.多表聯查,資料量按從少到多排列,當然第乙個主表通常資料量比較大,因為第乙個表通常為主表,但是從第二個表就要資料量從少到多排列了 如果遇到兩張表的資料一大一小,小表只能跟大表關聯,大...